Vue imprimable multi-pages de cette section. .
pgBackRest 2.59.1 Documentation
- 1: Actualités
- 2: Guide utilisateur (Debian/Ubuntu)
- 3: Guide utilisateur (RHEL)
- 4: Référence des commandes
- 4.1: Commande d'annotation (annotate)
- 4.2: Commande d’archive (archive-get)
- 4.3: Commande de poussée d'archive (archive-push)
- 4.4: Commande de sauvegarde (backup)
- 4.5: Commande de vérification (check)
- 4.6: Commande d'expiration (expire)
- 4.7: Commande d'aide (help)
- 4.8: Info Commande (info)
- 4.9: Commande d'obtention de dépôt (repo-get)
- 4.10: Commande Liste des dépôts (repo-ls)
- 4.11: Commande de restauration (restore)
- 4.12: Commande serveur (server)
- 4.13: Commande de ping serveur (server-ping)
- 4.14: Commande de création de stanza (stanza-create)
- 4.15: Commande de suppression de stanza (stanza-delete)
- 4.16: Commande de mise à jour de stanza (stanza-upgrade)
- 4.17: Commande de démarrage (start)
- 4.18: Commande d'arrêt (stop)
- 4.19: Commande de vérification (verify)
- 4.20: Commande Version (version)
- 5: Référence de configuration
- 6: Notes de version
- 7: Questions fréquemment posées
- 8: Métriques du projet
Introduction
pgBackRest est une solution fiable de sauvegarde et de restauration pour PostgreSQL, qui s’adapte sans heurt aux plus grands bases de données et charges de travail.
pgBackRest v2.59.1 est la version stable actuelle. Les notes de version se trouvent sur la page Releases .
Merci de nous donner une étoile sur GitHub si vous appréciez pgBackRest !
Actualités
17 août 2026 - pgBackRest 2.59.1 publié
20 juillet 2026 - Nouveau paquet tar de distribution
20 juillet 2026 - pgBackRest 2.59.0 publié
Parrains
pgBackRest n’existerait pas sans le soutien financier. La rédaction de nouvelles fonctionnalités, la correction des bogues, la revue des contributions, la réponse aux questions de la communauté et la maintenance prennent une quantité considérable de temps. Veuillez envisager un parrainage si vous utilisez pgBackRest dans votre entreprise.
Nos partenaires : AWS , Supabase , pgEdge , Tiger Data , Percona , Eon , Xata , Dalibo , et Data Egret .
Nous remercions nos commanditaires pour leur investissement dans l’infrastructure open source, au bénéfice de l’ensemble de la communauté PostgreSQL.
Anciens commanditaires : Crunchy Data , Resonate .
Fonctionnalités
Sauvegarde et restauration parallèles
La compression est généralement le goulot d’étranglement lors des opérations de sauvegarde, aussi pgBackRest résout-il ce problème grâce au traitement parallèle et à des algorithmes de compression plus efficaces, tels que lz4 et zstd.
Opération locale ou distante
Un protocole personnalisé permet à pgBackRest de réaliser des sauvegardes, des restaurations et des archives localement ou à distance via TLS/SSH, avec une configuration minimale. Une interface permet également d’interroger PostgreSQL via la couche de protocole, de sorte qu’un accès distant à PostgreSQL n’est jamais nécessaire, ce qui améliore la sécurité.
Dépôts multiples
La possibilité de plusieurs dépôts permet, par exemple, d’avoir un dépôt local avec une rétention réduite pour des restaurations rapides et un dépôt distant avec une rétention plus longue pour assurer la redondance et l’accès à travers l’entreprise.
Sauvegardes complètes, différentielles et incrémentielles (au niveau fichier ou bloc)
Les sauvegardes complètes, différentielles et incrémentielles sont prises en charge. pgBackRest n’est pas sujet aux problèmes de résolution temporelle de rsync, ce qui rend les sauvegardes différentielles et incrémentielles sûres sans nécessiter de calculer la somme de contrôle de chaque fichier. Les sauvegardes au niveau du bloc économisent de l’espace en ne copiant que les parties des fichiers qui ont changé.
Rotation des sauvegardes et expiration des archives
Les politiques de rétention peuvent être définies pour les sauvegardes complètes et les sauvegardes différentielles afin d’assurer une couverture pour toute période. L’archive WAL peut être conservée pour toutes les sauvegardes ou uniquement pour les plus récentes. Dans ce dernier cas, les WAL nécessaires à la cohérence des sauvegardes plus anciennes seront conservées dans l’archive.
Intégrité de la sauvegarde
Les sommes de contrôle sont calculées pour chaque fichier de la sauvegarde et vérifiées lors d’une restauration ou d’une vérification. Une fois la copie des fichiers terminée, la sauvegarde attend que chaque segment WAL nécessaire à la cohérence de la sauvegarde soit arrivé dans le dépôt.
Les sauvegardes dans le dépôt peuvent être stockées au même format qu’un cluster PostgreSQL standard (y compris les espaces de tables). Si la compression est désactivée et que les liens durs sont activés, il est possible de prendre un instantané d’une sauvegarde dans le dépôt et de faire démarrer directement un cluster PostgreSQL sur cet instantané. Cette approche présente un avantage pour les bases de données de taille téraoctet, dont la restauration classique est longue.
Toutes les opérations utilisent fsync au niveau des fichiers et des répertoires pour garantir la durabilité.
Page Sommes de contrôle
Si les sommes de contrôle des pages sont activées, pgBackRest vérifiera les sommes de contrôle de chaque fichier copié lors d’une sauvegarde. Toutes les sommes de contrôle sont vérifiées lors d’une sauvegarde complète, et les sommes de contrôle des fichiers modifiés sont vérifiées lors des sauvegardes différentielles et incrémentielles.
Les échecs de validation n’interrompent pas le processus de sauvegarde, mais des avertissements précisant exactement quelles pages ont échoué sont affichés sur la console et dans le fichier de journal.
Cette fonctionnalité permet de détecter précocement les corruption au niveau de la page, avant que les sauvegardes contenant des copies valides des données ne soient expirées.
Reprise de sauvegarde
Une sauvegarde interrompue peut être reprise à l’endroit où elle a été interrompue. Les fichiers déjà copiés sont comparés aux sommes de contrôle du manifeste afin d’assurer l’intégrité. Comme cette opération peut s’effectuer entièrement sur l’hôte du dépôt, elle réduit la charge sur l’hôte PostgreSQL et économise du temps, puisque le calcul des sommes de contrôle est plus rapide que la compression et la retransmission des données.
Compression en streaming et sommes de contrôle
Les calculs de compression et de somme de contrôle sont effectués en flux pendant que les fichiers sont copiés vers le dépôt, que le dépôt soit local ou distant.
Si le dépôt est hébergé sur un hôte de dépôt, la compression est effectuée sur l’hôte PostgreSQL et les fichiers sont transmis au format compressé, puis stockés directement sur l’hôte de dépôt. Lorsque la compression est désactivée, un niveau de compression inférieur est utilisé afin d’utiliser efficacement la bande passante disponible tout en minimisant la charge CPU.
Restauration incrémentielle
Le manifeste contient des sommes de contrôle pour chaque fichier de la sauvegarde, ce qui permet, lors d’une restauration, d’utiliser ces sommes de contrôle pour accélérer considérablement le traitement. Lors d’une restauration incrémentielle, les fichiers absents de la sauvegarde sont d’abord supprimés, puis des sommes de contrôle sont générées pour les fichiers restants. Les fichiers correspondant à ceux de la sauvegarde sont laissés en place, et les autres fichiers sont restaurés selon le processus habituel. Le traitement parallèle peut entraîner une réduction importante du temps de restauration.
Parallèle, transmission asynchrone WAL et récupération
Des commandes dédiées permettent d’envoyer le WAL vers l’archive et de le récupérer. Ces commandes prennent en charge le parallélisme afin d’accélérer le traitement et s’exécutent de manière asynchrone pour offrir à PostgreSQL le temps de réponse le plus court possible.
La transmission asynchrone des segments WAL détecte automatiquement les segments WAL qui sont envoyés plusieurs fois et supprime les doublons lorsque les segments sont identiques ; sinon, une erreur est signalée. La transmission asynchrone des segments WAL permet de déléguer le transfert à un autre processus qui compresse les segments WAL en parallèle, afin d’optimiser le débit. Cette fonction peut être essentielle pour les bases de données générant un volume d’écriture extrêmement élevé.
La récupération asynchrone des WAL maintient une file locale de segments WAL décompressés et prêts à être rejoués. Cela réduit le temps nécessaire pour fournir les WAL à PostgreSQL, ce qui maximise la vitesse de relecture. Les connexions et le stockage à latence élevée (comme S3) en bénéficient le plus.
Les commandes push et get garantissent chacune la correspondance entre la base de données et le dépôt en comparant les versions de PostgreSQL et les identifiants système. Cela élimine pratiquement tout risque de configurer incorrectement l’emplacement de l’archive WAL.
Prise en charge des tablespaces et des liens
Les espaces de table sont entièrement pris en charge, et lors d’une restauration, il est possible de les rediriger vers n’importe quel emplacement. Il est également possible de rediriger tous les espaces de table vers un seul emplacement en une seule commande, ce qui est utile pour les restaurations en environnement de développement.
Les liens de fichiers et de répertoires sont pris en charge pour tout fichier ou répertoire du cluster PostgreSQL. Lors d’une restauration, il est possible de restaurer tous les liens à leurs emplacements d’origine, de rediriger certains ou tous les liens, ou de restaurer certains ou tous les liens en tant que fichiers ou répertoires normaux dans le répertoire du cluster.
Prise en charge des magasins d’objets compatibles S3, Azure et GCS
Les dépôts pgBackRest peuvent être situés dans des magasins d’objets compatibles S3, Azure ou GCS afin de permettre une capacité et une rétention pratiquement illimitées.
Chiffrement
pgBackRest peut chiffrer le dépôt afin de protéger les sauvegardes, quel que soit l’emplacement de stockage.
Protection contre les logiciels malveillants et les logiciels de rançon
Lorsque le dépôt est stocké dans un stockage d’objets versionné, pgBackRest peut lire le dépôt tel qu’il était à un instant donné. Si des sauvegardes sont supprimées ou corrompues par erreur, par un logiciel malveillant ou un logiciel de rançon, une heure cible peut être utilisée pour récupérer des données antérieures à la survenance des dégâts.
La versionning est pris en charge par les magasins d’objets compatibles S3, Azure et GCS. Le verrouillage d’objets pour S3 ou la suppression progressive pour GCS ou Azure peut offrir une protection supplémentaire contre toute modification non autorisée.
Compatibilité avec dix versions de PostgreSQL
pgBackRest prend en charge dix versions de PostgreSQL, soit les cinq versions prises en charge et les cinq dernières versions obsolètes (EOL). Cela permet un délai suffisant pour passer à une version prise en charge.
Premiers pas
pgBackRest vise à être facile à configurer et à utiliser :
- Guides utilisateur pour divers systèmes d’exploitation et versions de PostgreSQL.
- Pages de commande pour les opérations en ligne de commande : sauvegarde , restauration , vérification et informations .
- Référence de configuration pour la création de configurations pgBackRest.
Contributions
Les contributions à pgBackRest sont toujours les bienvenues ! Veuillez consulter nos Guides pour contribuer pour obtenir les détails sur la manière de contribuer avec des fonctionnalités, des améliorations ou des rapports d’incidents.
Prise en charge
pgBackRest est entièrement gratuit et open source sous la licence MIT . Vous pouvez l’utiliser à des fins personnelles ou commerciales sans aucune restriction. Les rapports de bogues sont pris très au sérieux et seront traités aussi rapidement que possible. Veuillez signaler les bogues ici .
La mise en place d’une politique de récupération après sinistre solide, assortie de stratégies de réplication et de sauvegarde appropriées, peut s’avérer une tâche très complexe et intimidante. Vous pourriez avoir besoin d’aide pendant la phase d’architecture et d’un soutien continu afin de garantir que votre entreprise continue de fonctionner sans accroc.
Nos parrains proposent des produits et services incluant le support de pgBackRest et peuvent vous aider à répondre à vos besoins de récupération après sinistre.
1 - Actualités
pgBackRest 2.59.1 publié
17 août 2026
La communauté pgBackRest est heureuse d’annoncer la sortie de pgBackRest 2.59.1, la dernière version de la solution fiable, facile à utiliser, de sauvegarde et de restauration, pouvant s’adapter sans heurt aux plus grandes bases de données et charges de travail.
pgBackRest prend en charge un ensemble complet de fonctionnalités pour gérer votre infrastructure de sauvegarde et de récupération, notamment : sauvegarde/restauration en parallèle, sauvegardes complètes/différentielles/sauvegardes incrémentielles, sauvegarde incrémentielle par bloc, plusieurs dépôts, restauration par delta, archivage asynchrone en parallèle, protection contre les logiciels malveillants/rançongiciels, sommes de contrôle par fichier, sommes de contrôle par page (lorsqu’activées) validées pendant la sauvegarde, plusieurs types de compression, chiffrement, reprise partielle/échouée de sauvegarde, sauvegarde depuis un serveur secondaire, prise en charge des espaces de table et des liens, prise en charge de S3/Azure/GCS/SFTP, expiration des sauvegardes, opérations locales/distantes via SSH ou TLS, configuration flexible, et bien plus encore.
pgBackRest peut être installé à partir du dépôt Yum PostgreSQL ou du dépôt APT PostgreSQL ; des paquets sont également disponibles pour de nombreuses autres distributions. Le code source peut être téléchargé depuis releases .
Nouvelles fonctionnalités et correctifs de bogues
- Prise en charge de PostgreSQL 19beta3 (Lardière Sébastien)
- Correction d’un blocage lorsque la taille du tampon de morceau est inférieure à celle du tampon d’entrée (David Steele)
- Comparer une étiquette de sauvegarde nouvelle uniquement avec son propre jeu de sauvegardes complètes (David Steele)
- Correction des archives sources générées par GitHub qui manquaient des fichiers nécessaires à la compilation (David Steele)
Consultez les Notes de version 2.59.1 pour obtenir des corrections et améliorations supplémentaires.
Remarques importantes
- PostgreSQL 19beta3 a modifié le format WAL, de sorte que les WAL archivés depuis une version antérieure de PostgreSQL 19 beta ne sont plus lisibles. Les clusters exécutant une version antérieure du beta doivent être recréés avec 19beta3.
Liens
Parrainage
Ce correctif a été rendu possible grâce au généreux parrainage de AWS , Supabase , pgEdge , Tiger Data , Percona , Eon , Xata , Dalibo , et Data Egret .
Nouveau paquet tar de distribution
20 juillet 2026
À compter de la version 2.59.0 de pgBackRest, chaque version inclut un fichier tarball de distribution qui simplifie la compilation à partir des sources. Contrairement à un extrait du dépôt git, le fichier tarball contient les sources générées et la documentation rendue préalablement construites, de sorte que pgBackRest peut être compilé et installé sans nécessiter les outils de génération de code ni de documentation requis par un extrait du dépôt.
Le paquet tar contient le code source de pgBackRest avec le code prégénéré, la page de manuel de référence des commandes, la documentation HTML et un test de fumée pour vérifier la compilation. Il se compile avec meson et ninja en utilisant uniquement les bibliothèques habituelles de pgBackRest.
Le fichier archive est joint à chaque version en tant que fichier joint nommé pgbackrest-{version}.tar.gz, accompagné de la somme de contrôle correspondante .sha256sum. Téléchargez-le depuis la page releases
sur GitHub, puis consultez le fichier README.md contenu dans l’archive pour obtenir les instructions de compilation et de test.
Les paquetisateurs sont encouragés à effectuer les compilations à partir du tarball de distribution afin d’éviter les outils de construction supplémentaires que nécessitera à l’avenir la génération du code et de la documentation.
pgBackRest 2.59.0 publié
20 juillet 2026
La communauté pgBackRest est heureuse d’annoncer la sortie de pgBackRest 2.59.0, la dernière version de la solution fiable, facile à utiliser, pour la sauvegarde et la restauration, qui s’adapte sans heurt aux plus grandes bases de données et charges de travail.
pgBackRest prend en charge un ensemble complet de fonctionnalités pour gérer votre infrastructure de sauvegarde et de récupération, notamment : sauvegarde/restauration en parallèle, sauvegardes complètes/différentielles/sauvegardes incrémentielles, sauvegarde incrémentielle par bloc, plusieurs dépôts, restauration par delta, archivage asynchrone en parallèle, protection contre les logiciels malveillants/rançongiciels, sommes de contrôle par fichier, sommes de contrôle par page (lorsqu’activées) validées pendant la sauvegarde, plusieurs types de compression, chiffrement, reprise partielle/échouée de sauvegarde, sauvegarde depuis un serveur secondaire, prise en charge des espaces de table et des liens, prise en charge de S3/Azure/GCS/SFTP, expiration des sauvegardes, opérations locales/distantes via SSH ou TLS, configuration flexible, et bien plus encore.
pgBackRest peut être installé à partir du dépôt Yum PostgreSQL ou du dépôt APT PostgreSQL ; des paquets sont également disponibles pour de nombreuses autres distributions. Le code source peut être téléchargé depuis releases .
Nouvelles fonctionnalités et améliorations importantes
- Prise en charge de PostgreSQL 19 (David Steele)
- Ajouter l’option
archive-expire-beforepour nettoyer l’archive WAL (Stefan Fercot) - Ajouter la prise en charge des S3 Outposts (Shiva Kumar Ambigi)
- Ajouter l’authentification par processus S3 (David Steele)
- Ajouter le cache utilisateur/groupe pour une construction plus rapide du manifeste (Gunnar Lindholm)
- Reconnecter le stockage SFTP après que le serveur a fermé une connexion inactif (David Steele)
- Ajouter la progression par répertoire de sauvegarde dans la sortie de la commande
info(Will Morland) - Ajouter la suppression par lots pour le stockage Azure (David Steele)
- Ajouter des vérifications
backup.infoà la commandeverify(Denis Garsh) - Permettre la configuration du point de terminaison STS S3 (Simon Gratton)
- Ajouter l’intégration avec systemd notify (Andrew Jackson)
- Erreur lors de l’exécution en tant que root sauf si
allow-rootest activé (David Steele) - Quitter l’opération asynchrone
archive-pushà la première erreur (David Steele)
Consultez les Notes de version 2.59.0 pour obtenir des informations complémentaires sur les nouvelles fonctionnalités et améliorations.
Remarques importantes
- Seul la commande
restorepeut être exécutée en tant qu’utilisateur root par défaut. Utilisezallow-rootpour exécuter d’autres commandes en tant qu’utilisateur root (ce qui n’est toutefois pas recommandé). - Une nouvelle archive de distribution comprenant la documentation prégénérée, la page de manuel et le code est jointe à chaque version pour simplifier le packaging. Consultez Nouvelle archive de distribution pour plus d’informations.
- Une nouvelle dépendance facultative sur
libsystemda été ajoutée.
Liens
Parrainage
Ce correctif a été rendu possible grâce au généreux parrainage de AWS , Supabase , pgEdge , Tiger Data , Percona , Eon , Xata , Dalibo , et Data Egret .
pgBackRest va continuer !
18 mai 2026
Je suis heureux d’annoncer que pgBackRest va poursuivre son développement ! Au cours des dernières semaines, une coalition de commanditaires s’est réunie afin de financer le développement continu. Leur soutien signifie que le projet n’est plus dépendant d’un seul commanditaire, offrant ainsi à pgBackRest la stabilité nécessaire à long terme.
Je tiens à remercier chacun de nos commanditaires :
Amazon Web Services fournit des ressources informatiques cloud à la demande aux particuliers, aux entreprises et aux gouvernements. Accédez à une puissance de calcul, au stockage, aux bases de données, à l’apprentissage automatique et à plus de 200 services, en payant uniquement ce que vous utilisez. Conçu pour évoluer avec vous, en investissant dans les communautés que nous partageons.
Supabase , une plateforme backend complète construite sur PostgreSQL, permet aux développeurs de créer et d’évoluer rapidement leurs applications sans gérer l’infrastructure. Elle inclut une base de données PostgreSQL, une authentification utilisateur, des abonnements en temps réel, un stockage de fichiers, des fonctions au bord et des fonctions sans serveur, tous soutenus par une communauté open-source active.
pgEdge est une plateforme PostgreSQL open source de classe entreprise pour l’IA, la haute disponibilité et bien plus encore. Elle propose des outils natifs d’IA agentique, un atelier DBA, la supervision et la réponse aux incidents, un déploiement flexible et une maintenance sans interruption. Elle s’étend d’un nœud unique à une architecture multimaître active-active dans le cloud, sur site ou dans des environnements isolés.
Tiger Data , créateurs de TimescaleDB, développe la base de données open source pour les séries temporelles construite sur PostgreSQL et exploite Tiger Cloud, une plateforme gérée dédiée aux charges de travail liées aux séries temporelles, à l’analyse et à l’intelligence artificielle. Les options auto-hébergées et cloud permettent aux organisations de capturer, stocker et analyser des séries temporelles à grande échelle, des déploiements aux bords jusqu’aux clouds centralisés.
Percona est une entreprise de logiciels, d’assistance et de services open source qui aide les organisations à conserver le contrôle total de leur infrastructure de données. Elle leur permet d’exploiter MySQL, PostgreSQL, MongoDB, Valkey et Redis de manière sûre et efficace grâce à des logiciels open source librement accessibles, une assistance experte 24/7 et une expertise pratique des bases de données.
Eon.io est une infrastructure cloud intelligente pour la sauvegarde, la récupération et la gestion des données, qui aide les équipes à stocker et à accéder aux sauvegardes de manière plus efficace, rendant les données accessibles pour les workflows d’analyse et d’intelligence artificielle. Elle propose une récupération rapide et granulaire, ainsi qu’un coût de stockage nettement réduit pour PostgreSQL et les charges de travail intensives en données, sur toutes les clouds, y compris la récupération suite à une perte accidentelle de données ou à une régression d’agent d’intelligence artificielle.
Ces organisations comptent sur pgBackRest pour assurer une récupération après sinistre fiable pour leurs produits et clients. Leur investissement reflète le rôle essentiel joué par pgBackRest dans l’écosystème PostgreSQL, et leur soutien collectif garantit la durabilité à long terme du projet.
J’ai hâte de reprendre le travail. Des fonctionnalités et des optimisations sont en cours de développement et je suis impatient de vous les présenter dans les prochaines versions. Merci à nos commanditaires pour avoir rendu cela possible, et merci à la communauté pour votre patience et votre soutien durant cette transition.
Mise à jour de maintenance
4 mai 2026
Après avoir annoncé que je ne maintiens plus pgBackRest, ma boîte de réception s’est remplie. Il a fallu un certain temps pour trier les messages — beaucoup d’entre eux étaient des vœux de bonne chance et des remerciements pour mon travail au fil des années.
Mais un schéma s’est rapidement dessiné. Il est clair que de nombreux utilisateurs de pgBackRest, en particulier ceux qui doivent assister d’autres utilisateurs de pgBackRest, préféreraient que le projet continue avec moi en tant que principal mainteneur. Je le souhaiterais plus que tout, mais après plusieurs mois de financement participatif, j’avais tout juste décidé que cela n’arriverait pas.
La situation a maintenant évolué, et il semble presque certain que je pourrai obtenir suffisamment de financement pour poursuivre le projet. Cette fois, pgBackRest sera financé par une coalition de commanditaires, de sorte qu’une seule acquisition ne pourra plus affecter ma capacité à continuer le travail sur le projet. Nous devrions également pouvoir intégrer un autre mainteneur afin de répartir la charge de travail et assurer une continuité à l’avenir.
Je sais que cela a été une surprise et qu’il y a beaucoup d’incertitudes. Veuillez patienter — la version actuelle de pgBackRest fonctionne, et il n’existe aucun bogue critique ni problème de sécurité en cours, donc il n’est pas nécessaire de créer immédiatement une branche du projet.
J’espère pouvoir annoncer une décision définitive d’ici la fin de la semaine. En attendant, veuillez patienter et sachez que nous travaillons activement à la reprise de pgBackRest.
pgBackRest n’est plus maintenu
27 avril 2026
TL;DR : pgBackRest n’est plus maintenu. Si vous créez une branche de pgBackRest, veuillez choisir un nouveau nom pour votre projet.
Après mûre réflexion, j’ai décidé d’arrêter de travailler sur pgBackRest. Je n’ai pas pris cette décision à la légère. pgBackRest a été mon projet personnel passionnant pendant treize ans, et j’ai eu la chance de bénéficier d’un parrainage corporatif pendant une grande partie de cette période, mais il y a aussi eu de nombreuses nuits et fins de semaine passées à faire évoluer pgBackRest jusqu’à ce qu’il devienne ce qu’il est aujourd’hui, avec l’aide de nombreux contributeurs. Chaque développeur logiciel libre sait exactement ce que je veux dire et à quel point une partie de sa vie peut être consacrée à un projet particulier.
Depuis la vente de Crunchy Data, j’assure moi-même le maintien de pgBackRest et je cherche un poste qui me permettrait de poursuivre ce travail, mais jusqu’à présent, je n’ai pas eu de succès. De même, mes tentatives pour obtenir un parrainage se sont avérées bien insuffisantes pour rendre le projet viable.
Comme tout le monde, je dois gagner ma vie, et le nombre de postes liés à pgBackRest est très limité. Je peux désormais envisager une plus large variété d’opportunités, mais celles-ci ne me laisseront pas le temps de travailler sur pgBackRest, qui demande une quantité significative d’heures pour la maintenance, la correction des bogues, l’examen des demandes de tirage, la réponse aux problèmes, etc. Cela ne prend même pas en compte le temps nécessaire à l’écriture de nouvelles fonctionnalités, ce que je préfère par-dessus tout. Plutôt que de mener ce travail de manière médiocre et/ou épisodique, il me semble préférable de faire une pause définitive.
Je suppose qu’à un moment donné, pgBackRest sera forké, mais ce sera un nouveau projet avec de nouveaux responsables, et ceux-ci devront gagner la confiance de la même manière que nous l’avons fait.
Encore merci à l’ensemble des contributeurs de pgBackRest au fil des années. Il a été un réel plaisir de travailler avec vous !
2 - Guide utilisateur (Debian/Ubuntu)
Introduction
Ce guide utilisateur est conçu pour être suivi séquentiellement, du début à la fin — chaque section dépend de la précédente. Par exemple, la section Restauration repose sur la configuration effectuée dans la section Démarrage rapide . Une fois pgBackRest en fonctionnement, il est possible de sauter des sections, mais il est recommandé de suivre le guide dans l’ordre lors de la première utilisation.
Bien que les exemples de ce guide soient destinés à Debian/Ubuntu et à PostgreSQL 17, il devrait être relativement facile de les appliquer à toute distribution Unix et toute version de PostgreSQL. Les seules commandes spécifiques au système d’exploitation sont celles permettant de créer, démarrer, arrêter et supprimer des clusters PostgreSQL. Les commandes pgBackRest seront identiques sur tout système Unix, bien que l’emplacement de l’exécutable puisse varier. Bien que pgBackRest cherche à fonctionner de manière cohérente sur les différentes versions de PostgreSQL, certaines différences subtiles entre versions de PostgreSQL peuvent apparaître dans ce guide lors de l’illustration de certains exemples, par exemple les chemins ou noms de fichiers de PostgreSQL, ainsi que les paramètres.
Informations de configuration et documentation pour PostgreSQL sont disponibles dans le Manuel de PostgreSQL.
Une approche quelque peu originale est adoptée pour la documentation dans ce guide utilisateur. Chaque commande est exécutée sur une machine virtuelle au moment où la documentation est générée à partir de la source XML. Cela signifie que vous pouvez avoir une confiance élevée quant au bon fonctionnement des commandes, dans l’ordre présenté. La sortie est capturée et affichée sous la commande lorsque cela est pertinent. Si la sortie n’est pas incluse, c’est parce qu’elle a été jugée sans intérêt ou qu’elle aurait pu distraire du récit.
Toutes les commandes doivent être exécutées en tant qu’utilisateur non privilégié disposant des droits sudo pour les utilisateurs root et postgres. Il est également possible d’exécuter les commandes directement en tant que leurs utilisateurs respectifs sans modification, auquel cas les commandes sudo peuvent être omises.
Concepts
Les concepts suivants sont définis en tant qu’ils sont pertinents pour pgBackRest, PostgreSQL et ce guide utilisateur.
sauvegarde
Une sauvegarde est une copie cohérente d’un cluster de base de données pouvant être restaurée pour récupérer après une panne matérielle, effectuer une restauration à un instant donné ou mettre en place un serveur secondaire nouveau.
Sauvegarde complète : pgBackRest copie l’intégralité du contenu du cluster de base de données vers la sauvegarde. La première sauvegarde du cluster de base de données est toujours une sauvegarde complète. pgBackRest est toujours en mesure de restaurer directement une sauvegarde complète. La sauvegarde complète ne dépend d’aucun fichier en dehors d’elle-même pour assurer sa cohérence.
Sauvegarde différentielle : pgBackRest copie uniquement les fichiers du cluster de base de données modifiés depuis la dernière sauvegarde complète. Pour restaurer une sauvegarde différentielle, pgBackRest copie tous les fichiers de celle-ci ainsi que les fichiers inchangés requis de la sauvegarde complète précédente. Une sauvegarde différentielle occupe moins d’espace disque qu’une sauvegarde complète, mais elle et la sauvegarde complète doivent chacune être valides pour permettre la restauration.
Sauvegarde incrémentielle : pgBackRest copie uniquement les fichiers du cluster de base de données ayant changé depuis la dernière sauvegarde (qui peut être une autre sauvegarde incrémentielle, une sauvegarde différentielle ou une sauvegarde complète). Comme une sauvegarde incrémentielle ne comprend que les fichiers modifiés depuis la sauvegarde précédente, elle est généralement bien plus petite que les sauvegardes complètes ou différentielles. Comme pour la sauvegarde différentielle, la sauvegarde incrémentielle dépend d’autres sauvegardes pour être valide lors d’une restauration. Étant donné qu’une sauvegarde incrémentielle ne contient que les fichiers modifiés depuis la dernière sauvegarde, toutes les sauvegardes incrémentielles antérieures jusqu’à la dernière sauvegarde différentielle, la dernière sauvegarde différentielle et la dernière sauvegarde complète doivent être valides afin de pouvoir restaurer la sauvegarde incrémentielle. Si aucune sauvegarde différentielle n’existe, alors toutes les sauvegardes incrémentielles antérieures jusqu’à la dernière sauvegarde complète, qui doit exister, ainsi que la sauvegarde complète elle-même doivent être valides pour restaurer la sauvegarde incrémentielle.
restauration
Une restauration est l’opération de copie d’une sauvegarde sur un système où elle sera lancée en tant que cluster de base de données en cours d’exécution. Une restauration nécessite les fichiers de sauvegarde et un ou plusieurs segments WAL afin de fonctionner correctement.
Journaux d’écriture anticipée (WAL)
Le WAL est le mécanisme utilisé par PostgreSQL pour garantir qu’aucun changement validé n’est perdu. Les transactions sont écrites séquentiellement dans le WAL, et une transaction est considérée comme validée lorsque ces écritures sont écrites sur le disque. Par la suite, un processus en arrière-plan écrit les modifications dans les fichiers du cluster de base de données principal (également appelés heap). En cas de panne, le WAL est rejoué afin de rendre la base de données cohérente.
Les journaux d’écriture (WAL) sont conceptuellement infinis, mais en pratique ils sont divisés en fichiers individuels de 16 Mo appelés segments. Les segments WAL suivent la convention de nommage 0000000100000A1E000000FE, où les huit premiers chiffres hexadécimaux représentent la timeline et les seize chiffres suivants constituent le numéro de séquence logique (LSN).
Chiffrement
Le chiffrement est le processus de conversion des données dans un format illisible à moins qu’un mot de passe approprié (appelé également phrase secrète) ne soit fourni.
pgBackRest chiffrera le dépôt en fonction d’un mot de passe fourni par l’utilisateur, empêchant ainsi tout accès non autorisé aux données stockées dans le dépôt.
Mise à jour de pgBackRest
Mise à jour de pgBackRest de la version v2.x à la v2.y
La mise à niveau depuis la version v2.x vers la version v2.y est directe. Le format du dépôt n’a pas changé, aussi, pour la plupart des installations, il s’agit simplement d’installer les binaires de la nouvelle version. Il est également possible de revenir à une version antérieure si vous n’avez pas utilisé de fonctionnalités nouvelles non prises en charge par la version plus ancienne.
IMPORTANT :
Les versions locales et distantes de pgBackRest doivent correspondre exactement, elles doivent donc être mises à jour ensemble. En cas de désaccord, l’archivage des WAL et les sauvegardes ne fonctionneront pas jusqu’à ce que les versions soient synchronisées. Dans ce cas, l’erreur suivante sera signalée : [ProtocolError] expected value '2.x' for greeting key 'version' but got '2.y'.
Construction
Installer pgBackRest à partir d’un paquet est préférable à la compilation à partir des sources. Consultez Installation pour plus d’informations sur les paquets.
Lors de la compilation à partir des sources, il est préférable d’utiliser une machine de compilation plutôt que de compiler directement sur la production. La plupart des outils nécessaires à la compilation ne devraient généralement pas être installés en production. pgBackRest se compose d’un seul exécutable, ce qui facilite sa copie sur une nouvelle machine une fois compilé.
build ⇒ Télécharger la version 2.59.1 de pgBackRest vers le chemin /build
build ⇒ Installer les dépendances de compilation
build ⇒ Configurer et compiler pgBackRest
build ⇒ Exécuter éventuellement des tests de fumée pour vérifier que pgBackRest a été correctement construit
Installation
Un nouvel hôte nommé pg-primary est créé pour contenir le cluster de démonstration et exécuter les exemples pgBackRest.
Installer pgBackRest à partir d’un paquet est préférable à la compilation à partir des sources. Lors de l’installation à partir d’un paquet, les autres instructions de cette section sont généralement inutiles, mais il se peut qu’un paquet omette de créer un répertoire ou applique des permissions incorrectes. Dans ce cas, il peut être nécessaire de créer manuellement les répertoires ou de mettre à jour les permissions.
Les paquets Debian/Ubuntu pour pgBackRest sont disponibles sur apt.PostgreSQL.org .
Si des paquets ne sont pas fournis pour votre distribution/version, vous pouvez compiler à partir des sources puis procéder à l’installation manuelle comme indiqué ici.
pg-primary ⇒ Installer les dépendances
pg-primary ⇒ Copier le binaire pgBackRest depuis l’hôte de compilation
pgBackRest nécessite des répertoires pour les journaux et la configuration, ainsi qu’un fichier de configuration.
pg-primary ⇒ Créer le fichier de configuration et les répertoires pgBackRest
pgBackRest doit maintenant être correctement installé, mais il est préférable de le vérifier. Si des dépendances ont été omises, une erreur sera générée lors de l’exécution de pgBackRest en ligne de commande.
pg-primary ⇒ Vérifiez que l’installation s’est déroulée correctement
Démarrage rapide
La section Début rapide abordera la configuration basique de pgBackRest et de PostgreSQL, et présentera les commandes backup, restore et info.
Configurer un cluster de démonstration
La création du cluster de démonstration est facultative mais fortement recommandée, en particulier pour les nouveaux utilisateurs, car les commandes d’exemple du guide utilisateur font référence au cluster de démonstration ; les exemples supposent que le cluster de démonstration s’exécute sur le port par défaut (c’est-à-dire 5432). Le cluster ne sera pas lancé avant une section ultérieure, car il reste encore certaines configurations à effectuer.
pg-primary ⇒ Créer le cluster de démonstration
Configurer une stanza de cluster
Une stanza est la configuration d’un cluster de base de données PostgreSQL qui définit son emplacement, la manière dont il sera sauvegardé, les options d’archivage, etc. La plupart des serveurs de base de données n’ont qu’un seul cluster PostgreSQL et donc une seule stanza, tandis que les serveurs de sauvegarde ont une stanza pour chaque cluster de base de données à sauvegarder.
Il est tentant de nommer la stanza en fonction du cluster principal, mais un nom plus pertinent décrit les bases de données contenues dans le cluster. Étant donné que le nom de la stanza sera utilisé pour le principal et toutes les répliques, il est préférable de choisir un nom qui décrit la fonction réelle du cluster, par exemple app ou dw, plutôt que le nom local du cluster, comme main ou prod.
Le nom « demo » décrit avec précision le but de ce cluster, ce qui en fait également un bon nom de stanza.
pgBackRest doit connaître l’emplacement du répertoire de données de base du cluster PostgreSQL. Le chemin peut être demandé directement à PostgreSQL, mais dans un scénario de récupération, le processus PostgreSQL ne sera pas disponible. Lors des sauvegardes, la valeur fournie à pgBackRest sera comparée au chemin sur lequel PostgreSQL est en cours d’exécution, et elles doivent être identiques, sinon la sauvegarde retournera une erreur. Assurez-vous que pg-path est exactement égal à la valeur data_directory rapportée par PostgreSQL.
Par défaut, Debian/Ubuntu stocke les clusters dans /var/lib/postgresql/[version]/[cluster], ce qui facilite la détermination du chemin correct du répertoire de données.
Lors de la création du fichier /etc/pgbackrest/pgbackrest.conf, le propriétaire de la base de données (généralement postgres) doit être autorisé en lecture.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configure le répertoire de données du cluster PostgreSQL
Les fichiers de configuration de pgBackRest suivent une convention semblable à celle des fichiers INI sous Windows. Les sections sont indiquées par du texte entre crochets, et les paires clé/valeur sont contenues dans chaque section. Les lignes commençant par # sont ignorées et peuvent être utilisées comme commentaires, mais les commentaires en fin de ligne suivant une valeur sur la même ligne ne sont pas pris en charge. Les guillemets ne sont pas pris en charge, et les espaces sont supprimés des clés et des valeurs. Les sections seront fusionnées si elles apparaissent plus d’une fois.
Il existe plusieurs façons de charger les fichiers de configuration de pgBackRest :
configetconfig-include-pathsont par défaut : le fichier de configuration par défaut sera chargé, s’il existe, et les fichiers*.confdans le chemin d’inclusion de configuration par défaut seront ajoutés, s’ils existent.configest spécifié : seul le fichier de configuration indiqué sera chargé et doit exister.config-include-pathest spécifié : les fichiers*.confdans le chemin d’inclusion de configuration seront chargés et le chemin doit exister. Le fichier de configuration par défaut sera chargé s’il existe. Si l’on souhaite charger uniquement les fichiers dans le chemin d’inclusion de configuration spécifié, l’option--no-configpeut également être passée.configetconfig-include-pathsont spécifiés : en utilisant les valeurs spécifiées par l’utilisateur, le fichier de configuration sera chargé et les fichiers*.confdans le chemin d’inclusion de configuration seront ajoutés. Les fichiers doivent exister.config-pathest spécifié : ce paramètre remplacera le chemin de base pour l’emplacement par défaut du fichier de configuration et/ou le chemin de base du paramètre de chemin d’inclusion de configuration par défaut, sauf si l’option config et/ou config-include-path est explicitement définie.
Les fichiers sont concaténés comme s’ils formaient un seul grand fichier, et chaque fichier doit être valide individuellement. Cela signifie que les sections doivent être spécifiées dans chaque fichier là où elles sont nécessaires pour stocker une paire clé/valeur. L’ordre n’a pas d’importance, mais une priorité s’applique selon les sections. La priorité (de la plus élevée à la plus faible) est :
- [stanza:command]
- [stanza]
- [global:command]
- [global]
NOTE :
--config, --config-include-path et --config-path sont des options uniquement disponibles en ligne de commande.
pgBackRest peut également être configuré à l’aide de variables d’environnement (exemple ci-dessous) ; ces variables s’appliquent aux commandes telles que backup , restore et archive-push .
pg-primary ⇒ Configure log-path en utilisant l’environnement
Créer le dépôt
Le dépôt est l’emplacement où pgBackRest stocke les sauvegardes et les archives des segments WAL.
Il peut être difficile de prévoir à l’avance l’espace nécessaire. La meilleure approche consiste à effectuer quelques sauvegardes, puis à noter la taille des différents types de sauvegardes (pleines, incrémentielles, différentielles) et à mesurer la quantité de WAL générée par jour. Cela vous donnera une idée générale de l’espace requis, bien que les besoins évoluent probablement au fil du temps avec l’évolution de votre base de données.
Pour cette démonstration, le dépôt sera stocké sur le même hôte que le serveur PostgreSQL. Il s’agit de la configuration la plus simple et elle est utile dans les cas où un logiciel de sauvegarde traditionnel est utilisé pour sauvegarder l’hôte de la base de données.
pg-primary ⇒ Créer le dépôt pgBackRest
Le chemin du dépôt doit être configuré afin que pgBackRest sache où le trouver.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configurez le chemin du dépôt pgBackRest
Plusieurs dépôts peuvent également être configurés. Consultez Dépôts multiples pour plus de détails.
Configurer la sauvegarde archivée
La sauvegarde d’un cluster PostgreSQL en cours d’exécution nécessite que l’archivage du WAL soit activé. %p est le mécanisme utilisé par PostgreSQL pour spécifier l’emplacement du segment WAL à archiver. Notez qu’au moins un segment WAL sera créé pendant le processus de sauvegarde, même si aucune écriture explicite n’est effectuée sur le cluster.
pg-primary:/etc/postgresql/17/demo/postgresql.conf ⇒ Configurez les paramètres d’archive
Le cluster PostgreSQL doit être redémarré après avoir apporté ces modifications et avant d’effectuer une sauvegarde.
pg-primary ⇒ Redémarrer le cluster de démonstration
Le paramètre hot_standby est activé par défaut et doit rester ainsi sur chaque cluster. Un cluster peut être restauré ultérieurement en réplica, par exemple un principal reconstruit en réplica après une bascule, et un réplica n’acceptera pas de connexions en lecture seule sans ce paramètre.
Lorsqu’il est prévu qu’un segment WAL mette plus de 60 secondes (valeur par défaut) à atteindre le dépôt pgBackRest, l’option archive-timeout de pgBackRest doit être augmentée. Notez que cette option n’est pas identique à l’option archive_timeout de PostgreSQL, qui est utilisée pour forcer un basculement de segment WAL ; elle est utile pour les bases de données présentant des périodes prolongées d’inactivité. Pour plus d’informations sur l’option archive_timeout de PostgreSQL, consultez PostgreSQL Write Ahead Log
.
La commande archive-push peut être configurée avec ses propres options. Par exemple, un niveau de compression plus faible peut être défini afin d’accélérer l’archivage sans affecter le niveau de compression utilisé pour les sauvegardes.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configurer archive-push pour utiliser un niveau de compression plus faible
Cette configuration technique peut être utilisée pour toute commande et peut même cibler une stanza spécifique, par exemple demo:archive-push.
Configurer la rétention
pgBackRest expire les sauvegardes en fonction des options de rétention.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configurez la rétention à 2 sauvegardes complètes
Plus d’informations sur la rétention sont disponibles dans la section Retention .
Configurer le chiffrement du dépôt
Le dépôt sera configuré avec un type de chiffrement et une clé afin de démontrer le chiffrement. Le chiffrement est toujours effectué côté client, même si le type de dépôt (par exemple S3 ou autre magasin d’objets) prend en charge le chiffrement.
Il est important d’utiliser une phrase secrète longue et aléatoire pour la clé de chiffrement. Une bonne manière de la générer consiste à exécuter : openssl rand -base64 48.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configurez le chiffrement du dépôt pgBackRest
NOTE :
Les paramètres de chiffrement sont placés dans la section [global], ci-dessus, afin que la commande info puisse lire toutes les stanzas. Sans l’option stanza, la commande info ne lit les paramètres de chiffrement que dans la section [global], de sorte que les paramètres de chiffrement configurés par stanza nécessitent l’option stanza pour lire une stanza chiffrée.
Une fois que le dépôt a été configuré et que le stanza a été créé et vérifié, les paramètres de chiffrement du dépôt ne peuvent pas être modifiés.
Créer la stanza
La commande stanza-create doit être exécutée pour initialiser la stanza. Il est recommandé d’exécuter la commande check après stanza-create afin de vérifier que l’archivage et les sauvegardes sont correctement configurés.
pg-primary ⇒ Créer la stanza et vérifier la configuration
Vérifier la configuration
La commande check vérifie que pgBackRest et le paramètre archive_command sont correctement configurés pour l’archivage et les sauvegardes du stanza spécifié. Elle tente de vérifier tous les dépôts et bases de données configurés pour l’hôte sur lequel la commande est exécutée. Elle détecte les mauvaises configurations, en particulier celles relatives à l’archivage, qui entraînent des sauvegardes incomplètes car des segments WAL requis n’ont pas atteint l’archive. La commande peut être exécutée sur l’hôte PostgreSQL ou sur l’hôte dépôt. Elle peut également être exécutée sur l’hôte de basculement, toutefois, comme les opérations pg_switch_xlog()/pg_switch_wal() ne peuvent pas être effectuées sur le basculement, la commande ne testera que la configuration du dépôt.
Notez que pg_create_restore_point('pgBackRest Archive Check') et pg_switch_xlog()/pg_switch_wal() sont appelés pour forcer PostgreSQL à archiver un segment WAL.
pg-primary ⇒ Vérifier la configuration
Optimisation des performances
pgBackRest dispose de plusieurs options de performance qui ne sont pas activées par défaut afin de préserver la compatibilité descendante du dépôt. Toutefois, lors de la création d’un nouveau dépôt, les options suivantes sont recommandées. Elles peuvent également être utilisées sur un dépôt existant, à condition de noter que les versions plus anciennes de pgBackRest ne seront pas en mesure de lire le dépôt. Cette incompatibilité dépend de la date d’introduction de la fonctionnalité, comme indiqué dans la liste ci-dessous.
compress-type- détermine l’algorithme de compression utilisé par les commandesbackupetarchive-push. La valeur par défaut estgz(Gzip), maiszst(Zstandard) est recommandé car il est bien plus rapide et offre une compression similaire àgz.zstest pris en charge par l’optioncompress-typedepuis v2.27 . Voir Type de compression pour plus de détails.repo-bundle- combine les petits fichiers lors de la sauvegarde afin de économiser de l’espace et d’améliorer la vitesse des commandesbackupetrestore, notamment sur des magasins d’objets tels que S3. L’optionrepo-bundlea été introduite dans v2.39 . Voir Regroupement de fichiers pour plus de détails.repo-block- stocke uniquement les parties des fichiers qui ont changé plutôt que le fichier entier lors desdiff/incrbackup. Cela permet d’économiser de l’espace et d’accroître la vitesse de labackup. L’optionrepo-blocka été introduite dans v2.46 , mais une version d’au moins v2.52.1 est recommandée. Voir Incrémentation par bloc pour plus de détails.
D’autres options de performance ne sont pas activées par défaut car elles nécessitent une configuration supplémentaire ou car la valeur par défaut est sûre (mais non optimale). Ces options sont disponibles dans toutes les versions v2 de pgBackRest.
process-max- détermine le nombre de processus utilisés pour les commandes. La valeur par défaut est 1, qui est presque jamais appropriée. Chaque commande utiliseprocess-maxde manière différente ; reportez-vous à la documentation de chaque commande pour plus de détails sur son utilisation.archive-async- archive les fichiers WAL dans le dépôt par lots, ce qui accroît considérablement la vitesse d’archivage. Il n’est pas activé par défaut car il nécessite la création d’un chemin d’épissage. Consultez Archivage asynchrone pour plus de détails.backup-standby- effectue la sauvegarde sur une instance secondaire plutôt que sur l’instance principale afin de réduire la charge sur cette dernière. Il n’est pas activé par défaut car il nécessite une configuration supplémentaire et la présence d’une ou plusieurs instances secondaires. Consultez Sauvegarde depuis une instance secondaire pour plus de détails.
Effectuer une sauvegarde
Par défaut, pgBackRest attend la prochaine vérification planifiée avant de démarrer une sauvegarde. Selon les paramètres checkpoint_timeout et checkpoint_segments dans PostgreSQL, il peut s’écouler assez de temps avant qu’une vérification ne soit terminée et que la sauvegarde puisse commencer. En général, il est préférable de définir start-fast=y afin que la sauvegarde démarre immédiatement. Cela force une vérification, mais comme les sauvegardes sont généralement exécutées une fois par jour, une vérification supplémentaire n’a pas d’impact notable sur les performances. Toutefois, sur des clusters très chargés, il peut être préférable de passer --start-fast en ligne de commande au besoin.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configure la reprise rapide de la sauvegarde
Pour effectuer une sauvegarde du cluster PostgreSQL, exécutez pgBackRest avec la commande backup.
pg-primary ⇒ Effectuer une sauvegarde du cluster de démonstration
Par défaut, pgBackRest tente d’exécuter une sauvegarde incrémentielle. Toutefois, une sauvegarde incrémentielle doit être basée sur une sauvegarde complète, et comme aucune sauvegarde complète n’existait, pgBackRest a exécuté une sauvegarde complète à la place.
L’option type peut être utilisée pour spécifier une sauvegarde complète ou une sauvegarde différentielle.
pg-primary ⇒ Sauvegarde différentielle du cluster demo
Cette fois-ci, aucun avertissement n’a été affiché car une sauvegarde complète existait déjà. Bien qu’une sauvegarde incrémentielle puisse être basée sur une sauvegarde complète ou une sauvegarde différentielle, une sauvegarde différentielle doit obligatoirement être basée sur une sauvegarde complète. Une sauvegarde complète peut être effectuée en exécutant la commande backup avec --type=full.
Pendant une sauvegarde en ligne, pgBackRest attend que les segments WAL nécessaires à la cohérence de la sauvegarde soient archivés. Cette durée d’attente est régulée par l’option pgBackRest archive-timeout qui vaut 60 secondes par défaut. Si l’archivage d’un segment individuel est connu pour prendre plus de temps, cette option doit être augmentée.
Planifier une sauvegarde
Les sauvegardes peuvent être planifiées à l’aide d’utilitaires tels que cron.
Dans l’exemple suivant, deux tâches cron sont configurées pour s’exécuter ; les sauvegardes complètes sont planifiées à 6 h 30 tous les dimanches, tandis que les sauvegardes différentielles sont planifiées à 6 h 30 du lundi au samedi. Si ce fichier crontab est installé pour la première fois en milieu de semaine, pgBackRest exécutera une sauvegarde complète lors de la première exécution de la tâche différentielle, suivie d’une sauvegarde différentielle le lendemain.
Une fois les sauvegardes planifiées, il est important de configurer la rétention afin que les sauvegardes soient expirées selon un calendrier régulier, voir Retention .
Informations de sauvegarde
Utilisez la commande info pour obtenir des informations sur les sauvegardes.
pg-primary ⇒ Obtenir les informations sur le cluster de démonstration
La commande info s’applique à une seule stanza ou à toutes les stanzas. La sortie texte est la valeur par défaut et fournit un résumé lisible par l’humain des sauvegardes pour la ou les stanzas demandées. Ce format peut évoluer à tout moment dans une version.
Pour une sortie lisible par machine, utilisez --output=json. La sortie JSON contient bien plus d’informations que la sortie texte et est maintenue stable, sauf en cas de bug.
Pour accélérer l’exécution, restreindre la sortie à l’information de progression uniquement en spécifiant --detail-level=progress. Notez que cela ignore toutes les vérifications sauf la disponibilité de la stanza.
Chaque stanza dispose d’une section distincte et il est possible de limiter la sortie à une seule stanza à l’aide de l’option --stanza. La stanza ‘status’ indique brièvement l’état de santé de la stanza. Si cette valeur est ‘ok’, pgBackRest fonctionne normalement. Si plusieurs dépôts sont configurés, une valeur de ‘mixed’ indique que la stanza n’est pas dans un état sain sur un ou plusieurs dépôts ; dans ce cas, l’état de la stanza sera détaillé par dépôt. Dans les cas où une erreur s’est produite sur un dépôt sans correspondre à un code d’erreur connu, un code d’erreur de ‘other’ sera utilisé et les détails complets de l’erreur seront fournis. La ‘wal archive min/max’ affiche le WAL minimum et maximum actuellement stockés dans l’archive et, dans le cas de plusieurs dépôts, sera rapportée sur l’ensemble des dépôts sauf si l’option --repo est définie. Notez qu’il peut y avoir des lacunes dues aux politiques de rétention des archives ou à d’autres raisons.
Les messages ‘backup/expire running’ et/ou ‘restore running’ s’affichent aux côtés des informations ‘status’ si l’une quelconque de ces commandes est actuellement en cours d’exécution sur l’hôte. La progression par répertoire sera également indiquée dans la sortie texte, et un tableau ‘repo’ sera inclus dans la sortie JSON.
Les sauvegardes sont affichées du plus ancien au plus récent. La sauvegarde la plus ancienne sera toujours une sauvegarde complète (indiquée par un F à la fin de l’étiquette), mais la sauvegarde la plus récente peut être complète, différentielle (se terminant par D) ou incrémentielle (se terminant par I).
Le ‘timestamp start/stop’ définit la période pendant laquelle la sauvegarde a été exécutée. Le ‘timestamp stop’ peut être utilisé pour déterminer la sauvegarde à utiliser lors d’une restauration à un instant donné. Plus d’informations sur la restauration à un instant donné sont disponibles dans la section Restauration à un instant donné
.
Le ‘wal start/stop’ définit la plage de WAL nécessaire pour rendre la base de données cohérente lors d’une restauration. La commande backup s’assurera que cette plage de WAL se trouve dans l’archive avant de se terminer.
La ‘database size’ correspond à la taille totale non compressée de la base de données, tandis que la ‘database backup size’ représente la quantité de données à sauvegarder réellement ; elles sont identiques pour les sauvegardes complètes.
Le ‘repo’ indique dans quel dépôt se trouve cette sauvegarde. Le ‘backup set size’ inclut tous les fichiers de cette sauvegarde ainsi que toutes les sauvegardes référencées dans le dépôt nécessaires à la restauration de la base de données à partir de cette sauvegarde, tandis que le ‘backup size’ inclut uniquement les fichiers de cette sauvegarde (ceux-ci seront également identiques pour les sauvegardes complètes). Les tailles des dépôts reflètent les tailles des fichiers compressés si la compression est activée dans pgBackRest.
Le ‘backup reference total’ résume la liste des sauvegardes supplémentaires nécessaires pour effectuer la restauration de cette sauvegarde. Utilisez l’option --set pour afficher la liste complète de référence.
Restaurer une sauvegarde
Les sauvegardes peuvent vous protéger contre plusieurs scénarios de catastrophe, dont les plus fréquents sont les pannes matérielles et la corruption des données. La méthode la plus simple pour simuler une corruption de données consiste à supprimer un fichier important du cluster PostgreSQL.
pg-primary ⇒ Arrêtez le cluster de démonstration et supprimez le fichier pg_control
Le démarrage du cluster sans ce fichier important entraînera une erreur.
pg-primary ⇒ Tentative de démarrage du cluster démo corrompu
Pour restaurer une sauvegarde du cluster PostgreSQL, exécutez pgBackRest avec la commande restore. Le cluster doit être arrêté (dans ce cas, il est déjà arrêté) et tous les fichiers doivent être supprimés du répertoire de données PostgreSQL.
pg-primary ⇒ Supprimer les anciens fichiers du cluster de démonstration
pg-primary ⇒ Effectuer la restauration du cluster de démonstration et démarrer PostgreSQL
Cette fois, le cluster a démarré correctement car la restauration a remplacé le fichier pg_control manquant.
Plus d’informations sur la commande restore sont disponibles dans la section Restauration
.
Surveillance
La surveillance est une composante essentielle de tout système de production. De nombreuses outils sont disponibles, et pgBackRest peut être surveillé sur l’un d’entre eux avec un peu d’effort.
pgBackRest peut produire des informations sur le dépôt au format JSON, qui inclut la liste de toutes les sauvegardes pour chaque stanza ainsi que les informations sur l’archive WAL.
En PostgreSQL
La commande PostgreSQL COPY permet de charger les informations de pgBackRest dans une table. L’exemple suivant encapsule cette logique dans une fonction pouvant être utilisée pour effectuer des requêtes en temps réel.
pg-primary ⇒ Charger la fonction d’information pgBackRest pour PostgreSQL
À présent, la fonction monitor.pgbackrest_info() peut être utilisée pour déterminer l’heure de la dernière sauvegarde réussie et le WAL archivé pour une stanza.
pg-primary ⇒ Interroger l’heure de la dernière sauvegarde réussie et des journaux WAL archivés
Utilisation de jq
jq est un utilitaire en ligne de commande permettant d’extraire facilement des données depuis des fichiers JSON.
pg-primary ⇒ Installer l’utilitaire jq
À présent, jq peut être utilisé pour interroger l’heure de la dernière sauvegarde réussie pour un stanza.
pg-primary ⇒ Requête le moment de la dernière sauvegarde réussie
Ou le dernier WAL archivé.
pg-primary ⇒ Requête du dernier WAL archivé
NOTE :
Cette syntaxe nécessite jq v1.5.
NOTE :
jq peut arrondir des nombres élevés tels que les identifiants système. Testez vos requêtes avec soin.
sauvegarde
Lorsque plusieurs dépôts sont configurés, pgBackRest effectuera la sauvegarde vers le dépôt de priorité la plus élevée (par exemple repo1) sauf si l’option --repo est spécifiée.
pgBackRest ne dispose pas de planificateur intégré, il est donc préférable de l’exécuter depuis cron ou un autre mécanisme de planification.
Consultez Effectuer une sauvegarde pour plus de détails et d’exemples.
Regroupement de fichiers
Regrouper les fichiers dans le dépôt permet de gagner du temps lors de la sauvegarde et de libérer de l’espace dans le dépôt. Cet avantage est particulièrement marqué lorsque le dépôt est stocké sur un magasin d’objets comme S3 ou sur des systèmes de fichiers à grandes tailles de bloc. Le temps de création par fichier est plus élevé sur les magasins d’objets, et des fichiers très petits peuvent coûter autant à stocker qu’un fichier plus volumineux.
La fonctionnalité de regroupement de fichiers est activée avec l’option repo-bundle.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configure repo1-bundle
Une sauvegarde complète sans regroupement de fichiers comportera plus de 1000 fichiers dans le chemin de sauvegarde, mais avec le regroupement, le nombre total de fichiers est fortement réduit. Un avantage supplémentaire est que les fichiers de taille nulle ne sont pas stockés (sauf dans le manifeste), contrairement à une sauvegarde normale où chaque fichier de taille nulle est stocké individuellement.
pg-primary ⇒ Effectuer une sauvegarde complète
pg-primary ⇒ Vérifier le total des fichiers
Les options repo-bundle-size et repo-bundle-limit peuvent être utilisées pour le réglage, bien que les valeurs par défaut soient optimales dans la plupart des cas.
Bien que le regroupement de fichiers soit généralement plus efficace, le désavantage réside dans la difficulté d’accès manuel aux fichiers depuis le dépôt. Il peut ne pas être adapté aux stockages à déduplication, car chaque sauvegarde complète organise les fichiers dans les paquets de manière différente. Enfin, les paquets de fichiers ne peuvent pas être repris, veillez donc à ne pas définir repo-bundle-limit trop élevé.
Incrémentation par bloc
Les sauvegardes incrémentielles par bloc économisent de l’espace en ne stockant que les parties d’un fichier modifiées depuis la sauvegarde précédente, plutôt que le fichier entier.
La fonctionnalité de sauvegarde incrémentielle par bloc est activée avec l’option repo-block et fonctionne de manière optimale lorsqu’elle est activée pour toutes les types de sauvegarde. Le regroupement des fichiers doit également être activé.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configure repo1-block
Annotations de sauvegarde
Les utilisateurs peuvent attacher des paires clé/valeur explicatives à la sauvegarde. Cette option peut être utilisée plusieurs fois pour attacher plusieurs annotations.
pg-primary ⇒ Effectuer une sauvegarde complète avec annotations
Les annotations sont produites par la sortie texte de la commande info lorsque une sauvegarde est spécifiée avec --set, et apparaissent toujours dans la sortie JSON.
pg-primary ⇒ Obtenir les informations sur le cluster de démonstration
Les annotations incluses avec la commande backup peuvent être ajoutées, modifiées ou supprimées ultérieurement à l’aide de la commande annotate.
pg-primary ⇒ Modifier les annotations de sauvegarde
rétention
En général, il est préférable de conserver autant de sauvegardes que possible afin de disposer d’une fenêtre plus étendue pour la restauration à un instant donné Restauration à un instant donné , mais des contraintes pratiques telles que l’espace disque doivent également être prises en compte. Les options de rétention suppriment automatiquement les sauvegardes anciennes une fois qu’elles ne sont plus nécessaires.
pgBackRest effectue la rotation des sauvegardes complètes selon le type de rétention, qui peut être défini par un nombre ou une période de temps. Lorsqu’un nombre est spécifié, l’expiration n’est pas liée à la date de création des sauvegardes, mais au nombre de sauvegardes à conserver. Les sauvegardes différentielles sont basées sur un nombre, mais sont toujours expirées lorsque la sauvegarde complète dont elles dépendent l’est. Les sauvegardes incrémentielles ne sont pas expirées indépendamment par rétention — elles sont toujours expirées en même temps que leur sauvegarde complète ou différentielle associée. Pour plus de détails et des exemples, reportez-vous aux sections Rétention des sauvegardes complètes et Rétention des sauvegardes différentielles .
L’archive WAL est conservée par défaut pour les sauvegardes n’ayant pas expiré, mais, bien que non recommandé, ce délai peut être modifié par dépôt à l’aide de l’option retention-archive. Voir la section Archive Retention pour les détails et exemples.
La commande expire s’exécute automatiquement après chaque sauvegarde réussie et peut également être exécutée par l’utilisateur. Lorsqu’elle est exécutée par l’utilisateur, l’expiration s’effectue selon les paramètres de rétention définis pour chaque dépôt configuré. Si l’option --repo est fournie, l’expiration s’applique uniquement au dépôt spécifié. L’expiration peut également être limitée par l’utilisateur à un jeu de sauvegarde spécifique à l’aide de l’option --set, et, sauf si l’option --repo est spécifiée, tous les dépôts seront recherchés et tous ceux correspondant aux critères seront supprimés. Il convient de noter que la planification de rétention des archives sera vérifiée et appliquée chaque fois que la commande expire est exécutée.
Rétention des sauvegardes complètes
L’option repo1-retention-full-type détermine la manière dont l’option repo1-retention-full est interprétée : soit comme le nombre de sauvegardes complètes à conserver, soit comme le nombre de jours pendant lesquels conserver les sauvegardes complètes. Une nouvelle sauvegarde doit être terminée avant qu’une expiration ne puisse se produire — cela signifie que si repo1-retention-full-type=count et repo1-retention-full=2, alors trois sauvegardes complètes seront conservées avant que la plus ancienne ne soit supprimée, ou que si repo1-retention-full-type=time et repo1-retention-full=20, alors une sauvegarde complète d’au moins 20 jours d’âge doit exister avant qu’une expiration ne puisse avoir lieu.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configure repo1-retention-full
Sauvegarde repo1-retention-full=2 mais actuellement, il n’existe qu’une seule sauvegarde complète, donc la prochaine sauvegarde complète à exécuter n’expirera aucune sauvegarde complète.
pg-primary ⇒ Effectuer une sauvegarde complète
L’archive est expirée car des segments WAL ont été générés avant la sauvegarde la plus ancienne. Ces segments ne sont pas utiles pour la récupération — seuls les segments WAL générés après une sauvegarde peuvent être utilisés pour récupérer cette sauvegarde.
pg-primary ⇒ Effectuer une sauvegarde complète
La sauvegarde complète 20260817-045036F a expiré et la rétention des archives est basée sur 20260817-045058F, qui est désormais la sauvegarde complète la plus ancienne.
Rétention des sauvegardes différentielles
Définissez repo1-retention-diff sur le nombre de sauvegardes différentielles requises. Les sauvegardes différentielles ne dépendent que de la dernière sauvegarde complète, il est donc possible de créer un ensemble « en rouleau » de sauvegardes différentielles pour la dernière journée ou plus. Cela permet des restaurations rapides à des points récents dans le temps tout en réduisant la consommation globale d’espace.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configure repo1-retention-diff
Avec repo1-retention-diff=1, deux sauvegardes différentielles doivent être effectuées avant que l’une d’elles n’expire. Une sauvegarde incrémentielle est ajoutée pour illustrer l’expiration incrémentielle, qui dépend ici de l’expiration de la sauvegarde différentielle.
pg-primary ⇒ Effectuer des sauvegardes différentielles et incrémentielles
Effectuer maintenant une sauvegarde différentielle expire les sauvegardes différentielles et incrémentielles précédentes, ne laissant ainsi qu’une seule sauvegarde différentielle.
pg-primary ⇒ Effectuer une sauvegarde différentielle
Rétention des archives
Bien que pgBackRest supprime automatiquement les segments WAL archivés lors de l’expiration des sauvegardes (le comportement par défaut expire les WAL des sauvegardes complètes en fonction de l’option repo1-retention-full), il peut être utile d’expirer l’archive de manière plus agressive afin de libérer de l’espace disque. Notez que les sauvegardes complètes sont traitées comme des sauvegardes différentielles pour l’application de la rétention des archives différentielles.
L’expiration de l’archive ne supprimera jamais les segments WAL nécessaires à la cohérence d’une sauvegarde. Toutefois, comme la récupération à un point donné (PITR) ne fonctionne qu’avec un flux WAL continu, une attention particulière doit être portée lors de l’expiration agressive de l’archive en dehors du processus normal d’expiration des sauvegardes. Pour déterminer quels éléments seront supprimés sans effectuer réellement l’expiration, l’option dry-run peut être fournie en ligne de commande avec la commande expire.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configure repo1-retention-diff
pg-primary ⇒ Effectuer une sauvegarde différentielle
pg-primary ⇒ Expire archive
La sauvegarde différentielle 20260817-045100F_20260817-045104D contient des segments WAL qui doivent être conservés pour assurer la cohérence des sauvegardes plus anciennes, même si elles ne peuvent plus être restaurées ultérieurement avec une récupération à un point précis (PITR). Les segments WAL générés après 20260817-045100F_20260817-045104D mais avant 20260817-045100F_20260817-045106D sont supprimés. Les segments WAL générés après la nouvelle sauvegarde 20260817-045100F_20260817-045106D sont conservés et peuvent être utilisés pour une récupération à un point précis (PITR).
Étant donné que les sauvegardes complètes sont considérées comme des sauvegardes différentielles afin de déterminer la rétention des archives différentielles, si une sauvegarde complète est désormais effectuée avec les mêmes paramètres, seule l’archive correspondante à cette sauvegarde complète est conservée pour la récupération à un instant donné.
restauration
La commande de restauration sélectionne automatiquement la dernière sauvegarde du premier dépôt où des sauvegardes existent (voir Démarrage rapide - Restaurer une sauvegarde
). L’ordre dans lequel les dépôts sont vérifiés est déterminé par le paramètre pgbackrest.conf (par exemple, repo1 sera vérifié avant repo2). Pour sélectionner un dépôt spécifique, l’option --repo peut être utilisée (par exemple, --repo=1). L’option --set peut être utilisée si une sauvegarde autre que la plus récente est souhaitée.
Lorsqu’une restauration à un instant donné de --type=time ou --type=lsn est spécifiée, le temps cible ou le numéro LSN cible doit être précisé à l’aide de l’option --target. Si aucune sauvegarde n’est spécifiée via l’option --set, les dépôts configurés seront examinés, dans l’ordre, à la recherche d’une sauvegarde contenant le temps ou le numéro LSN demandés. Si aucune sauvegarde correspondante n’est trouvée, la dernière sauvegarde du premier dépôt contenant des sauvegardes sera utilisée pour --type=time, tandis qu’aucune sauvegarde ne sera sélectionnée pour --type=lsn. Pour les autres types de restauration à un instant donné, par exemple xid, l’option --set doit être fournie si le temps cible est antérieur à la dernière sauvegarde. Voir Restauration à un instant donné
pour plus de détails et d’exemples.
Les slots de réplication ne sont pas inclus, conformément à la recommandation de PostgreSQL. Consultez Sauvegarde du répertoire de données dans la documentation PostgreSQL pour plus d’informations.
Les sections suivantes présentent des fonctionnalités supplémentaires de la commande restore.
Propriétaire du fichier
Si un restore est exécuté en tant qu’utilisateur non privilégié (scénario typique), tous les fichiers restaurés appartiendront à l’utilisateur/groupe exécutant pgBackRest. Si des fichiers existants ne sont pas possédés par l’utilisateur/groupe exécutant, une erreur se produira si la propriété ne peut pas être mise à jour pour correspondre à l’utilisateur/groupe exécutant. Dans ce cas, la propriété des fichiers devra être mise à jour par un utilisateur ayant des privilèges avant de pouvoir réessayer la restauration.
Si un restore est exécuté en tant qu’utilisateur root, pgBackRest tentera de recréer la propriété enregistrée dans le manifeste au moment de la sauvegarde. Seuls les noms d’utilisateur/groupe sont stockés dans le manifeste, donc les mêmes noms doivent exister sur l’hôte de restauration pour que cela fonctionne. Si le nom d’utilisateur/groupe ne peut pas être trouvé localement, l’utilisateur/groupe du répertoire de données PostgreSQL sera utilisé, puis root si l’utilisateur/groupe du répertoire de données ne peut pas être mappé à un nom.
Option Delta
Restaurer une sauvegarde
dans Mise en route rapide
nécessite que le répertoire du cluster de base de données soit nettoyé avant la restore de restauration. L’option delta permet à pgBackRest de déterminer automatiquement quels fichiers du répertoire du cluster de base de données peuvent être conservés et quels fichiers doivent être restaurés à partir de la sauvegarde — elle supprime également les fichiers absents du manifeste de sauvegarde, ce qui permet d’éliminer les modifications divergentes. Cette opération est réalisée en calculant un hachage cryptographique SHA-1
pour chaque fichier du répertoire du cluster de base de données. Si le hachage SHA-1 ne correspond pas au hachage stocké dans la sauvegarde, ce fichier sera restauré. Cette opération est particulièrement efficace lorsqu’elle est combinée avec l’option process-max. Comme le serveur PostgreSQL est arrêté pendant la restauration, un plus grand nombre de processus peut être utilisé que lors d’une sauvegarde, où le serveur PostgreSQL est en cours d’exécution.
pg-primary ⇒ Arrêtez le cluster de démonstration, effectuez une restauration incrémentielle
pg-primary ⇒ Redémarrer PostgreSQL
Restauration des bases de données sélectionnées
Il peut arriver que l’on souhaite restaurer sélectivement des bases de données spécifiques à partir d’une sauvegarde de cluster. Cela peut être utile pour des raisons de performance ou pour déplacer des bases sélectionnées vers une machine qui ne dispose pas d’espace suffisant pour restaurer l’intégralité de la sauvegarde du cluster.
Pour démontrer cette fonctionnalité, deux bases de données sont créées : test1 et test2.
pg-primary ⇒ Créer deux bases de données de test
Chaque base de données de test sera initialisée avec des tables et des données afin de démontrer que la restauration sélective fonctionne.
pg-primary ⇒ Créer une table de test dans chaque base de données
Une nouvelle sauvegarde est exécutée afin que pgBackRest prenne connaissance des nouveaux bases de données.
pg-primary ⇒ Effectuer une sauvegarde
L’une des principales raisons d’utiliser une restauration sélective est de conserver de l’espace. La taille de la base de données test1 est indiquée ici afin de pouvoir la comparer à l’utilisation du disque après une restauration sélective.
pg-primary ⇒ Afficher l’espace utilisé par la base test1
Si la base de données à restaurer n’est pas connue, utilisez l’option info de la commande set pour découvrir les bases de données faisant partie de l’ensemble de sauvegarde.
pg-primary ⇒ Afficher la liste des bases de données pour la sauvegarde
Arrêtez le cluster et effectuez une restauration uniquement de la base test2. Les bases de données intégrées (template0, template1 et postgres) sont toujours restaurées.
AVERTISSEMENT :
La récupération peut échouer sauf si --type=immediate est spécifié. Cela est dû au fait qu’une fois la cohérence atteinte, PostgreSQL signale les pages nulles comme des erreurs, même pour une écriture complète de page. Pour PostgreSQL ≥ 13, le paramètre ignore_invalid_pages peut être utilisé pour ignorer les pages non valides. Dans ce cas, il est important de vérifier les journaux après la récupération afin de s’assurer qu’aucune page non valide n’a été signalée dans les bases de données sélectionnées.
pg-primary ⇒ Restauration à partir de la dernière sauvegarde, incluant uniquement la base test2
Une fois la récupération terminée, la base de données test2 contiendra toutes les tables et les données précédemment créées.
pg-primary ⇒ Démontrer que la base de données test2 a été restaurée
La base de données test1, malgré une récupération réussie, n’est pas accessible. Cela est dû au fait que la base entière a été restaurée sous forme de fichiers creux initialisés à zéro. PostgreSQL peut appliquer correctement le WAL sur ces fichiers initialisés à zéro, mais la base de données dans son ensemble ne sera pas valide, car certains fichiers clés ne contiennent aucune donnée. Cette situation est volontaire, afin d’éviter que la base de données ne soit utilisée accidentellement alors qu’elle pourrait contenir des données partielles appliquées pendant la relecture du WAL.
pg-primary ⇒ Tenter de se connecter à la base de données test1 produira une erreur
Étant donné que la base de données test1 est restaurée avec des fichiers épars et initialisés à zéro, elle n’utilisera que l’espace nécessaire à la quantité de WAL écrite pendant la récupération. Bien que la quantité de WAL générée lors d’une sauvegarde et appliquée lors de la récupération puisse être importante, elle représente généralement une fraction réduite de la taille totale de la base de données, en particulier pour les grandes bases de données où cette fonctionnalité est le plus susceptible d’être utile.
Il est clair que la base de données test1 utilise bien moins d’espace disque lors d’une restauration sélective que si toute la base de données avait été restaurée.
pg-primary ⇒ Afficher l’espace utilisé par la base de données test1 après la récupération
À ce stade, la seule action pouvant être entreprise sur la base test1 invalide est drop database. pgBackRest ne supprime pas automatiquement la base de données, car cela n’est pas possible tant que la récupération n’est pas terminée et que le cluster n’est pas accessible.
pg-primary ⇒ Supprimer la base de données test1
À présent que la base de données test1 invalide a été supprimée, seules les bases de données test2 et les bases intégrées restent.
pg-primary ⇒ Liste des bases de données restantes
restauration à un instant donné
Restaurer une sauvegarde dans Démarrage rapide a effectué une récupération par défaut, qui consiste à rejouer toutes les transactions jusqu’à la fin du flux WAL. En cas de panne matérielle, il s’agit généralement du choix optimal, mais en cas de corruption des données (qu’elle soit due à une panne matérielle ou humaine), la restauration à un instant donné (PITR) est souvent plus appropriée.
La restauration à un instant donné (PITR) permet de rejouer les journaux d’écriture (WAL) à partir d’une sauvegarde jusqu’à un LSN, une heure, un identifiant de transaction ou un point de récupération spécifié. Pour les scénarios de récupération courants, la récupération basée sur le temps est sans doute la plus utile. Un scénario de récupération typique consiste à restaurer une table supprimée par erreur ou des données supprimées par erreur. La récupération d’une table supprimée est plus spectaculaire, aussi est-elle prise comme exemple ici, mais les données supprimées seraient récupérées exactement de la même manière.
pg-primary ⇒ Créer une table avec des données très importantes
Il est important de représenter l’heure selon le calcul de PostgreSQL et d’inclure les décalages de fuseau horaire. Cela réduit la possibilité de conversions de fuseau horaire non souhaitées et d’un résultat de récupération inattendu.
pg-primary ⇒ Obtenir l’heure depuis PostgreSQL
À présent que l’heure a été enregistrée, la table est supprimée. En pratique, déterminer l’heure exacte à laquelle la table a été supprimée est bien plus difficile qu’à l’exemple présenté. Il se peut qu’il ne soit pas possible de déterminer l’heure exacte, mais une analyse forensique devrait toutefois pouvoir s’en approcher.
pg-primary ⇒ Supprimer la table importante
Si la mauvaise sauvegarde est sélectionnée pour la restauration, la récupération jusqu’à la cible de temps requise échouera. Pour illustrer ce cas, une nouvelle sauvegarde incrémentielle est effectuée alors que important_table n’existe pas.
pg-primary ⇒ Effectuer une sauvegarde incrémentielle
Il ne sera pas possible de récupérer la table perdue à partir de cette sauvegarde, car PostgreSQL ne peut avancer que vers l’avant, pas vers l’arrière.
pg-primary ⇒ Tentative de récupération à partir d’une sauvegarde incorrecte
Une méthode fiable consiste à autoriser pgBackRest à sélectionner automatiquement une sauvegarde pouvant être restaurée jusqu’à l’instant cible, c’est-à-dire une sauvegarde terminée avant l’instant spécifié.
NOTE :
pgBackRest ne peut pas sélectionner automatiquement une sauvegarde lorsque le type de restauration est xid ou name.
pg-primary ⇒ Effectuer la restauration du cluster de démonstration sur 2026-08-17 04:51:24.23782+00
pgBackRest a généré les paramètres de récupération dans postgresql.auto.conf afin que PostgreSQL puisse être démarré immédiatement. %f est le moyen par lequel PostgreSQL indique le segment WAL dont il a besoin, et %p est l’emplacement où il doit être copié. Une fois la récupération de PostgreSQL terminée, la table existera à nouveau et pourra être interrogée.
pg-primary ⇒ Démarrer PostgreSQL et vérifier que la table importante existe
Le journal PostgreSQL contient également des informations précieuses. Il indique l’heure et la transaction où la récupération s’est arrêtée, ainsi que l’heure de la dernière transaction appliquée.
pg-primary ⇒ Examinez la sortie des journaux PostgreSQL
Supprimer une stanza
La commande stanza-delete supprime les données du dépôt associées à un stanza.
AVERTISSEMENT :
Utilisez cette commande avec précaution — elle supprimera définitivement toutes les sauvegardes et archives du dépôt pgBackRest pour le stanza spécifié.
Pour supprimer une stanza :
- Arrêtez le cluster PostgreSQL associé à la stanza (ou utilisez –force pour l’ignorer).
- Exécutez la commande
stopsur l’hôte où la commandestanza-deletesera exécutée. - Exécutez la commande
stanza-delete.
Une fois la commande exécutée avec succès, il incombe à l’utilisateur de supprimer la stanza de tous les fichiers de configuration pgBackRest et/ou des variables d’environnement.
Un stanza ne peut être supprimé que d’un dépôt à la fois. Pour supprimer le stanza de plusieurs dépôts, répétez la commande stanza-delete pour chaque dépôt tout en spécifiant l’option --repo.
pg-primary ⇒ Arrêtez le cluster PostgreSQL à supprimer
pg-primary ⇒ Arrêtez pgBackRest pour la stanza
pg-primary ⇒ Supprimer le stanza depuis un dépôt
Dépôts multiples
Plusieurs dépôts peuvent être configurés, comme illustré dans Prise en charge S3 . Un avantage potentiel est la possibilité de disposer d’un dépôt local pour des restaurations rapides et d’un dépôt distant pour la redondance.
Certaines commandes, par exemple stanza-create
/stanza-upgrade
, fonctionnent automatiquement avec tous les dépôts configurés, tandis que d’autres, par exemple stanza-delete
, nécessitent la spécification d’un dépôt à l’aide de l’option repo.
Notez que l’option repo n’est pas obligatoire lorsqu’uniquement repo1 est configuré, afin de préserver la compatibilité descendante. Toutefois, l’option repo est obligatoire lorsqu’un seul dépôt est configuré, par exemple repo2. Ceci vise à éviter la rupture de commande en cas d’ajout ultérieur d’un nouveau dépôt.
La commande archive-push poussera toujours les journaux WAL vers l’archive dans tous les dépôts configurés. Si un dépôt n’est pas accessible, les journaux WAL seront tout de même poussés vers les autres dépôts. Toutefois, pour que cela fonctionne efficacement, archive-async=y doit être activé ; sinon, les autres dépôts ne pourront avancer que d’un segment WAL par rapport au dépôt inatteignable. Notez également qu’en cas d’impossibilité de pousser les journaux WAL vers n’importe quel dépôt, PostgreSQL ne supprimera pas ces journaux du répertoire pg_wal, ce qui peut entraîner la saturation du volume.
Les sauvegardes doivent être planifiées individuellement pour chaque dépôt. Dans de nombreuses situations, cela est souhaitable car les types de sauvegarde et la rétention varient d’un dépôt à l’autre. De même, les restaurations doivent préciser un dépôt. Il est généralement préférable de spécifier un dépôt à faible latence/coût, même si cela implique un temps de récupération plus long. Seule une vérification par test de restauration permettra de déterminer quel dépôt sera le plus efficace.
Prise en charge du magasin d’objets compatible Azure
pgBackRest prend en charge la localisation des dépôts dans des magasins d’objets compatibles Azure. Le conteneur utilisé pour stocker le dépôt doit être créé à l’avance — pgBackRest ne le fera pas automatiquement. Le dépôt peut être situé à la racine du conteneur (/), mais il est généralement préférable de le placer dans un sous-chemin afin de pouvoir stocker également des journaux ou d’autres données dans le conteneur sans conflit.
AVERTISSEMENT :
N’activez pas l’« espace de noms hiérarchique » car cela provoquera des erreurs lors de l’expiration.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configurez Azure
Les signatures d’accès partagé peuvent être utilisées en définissant l’option repo2-azure-key-type sur sas et l’option repo2-azure-key sur le jeton de signature d’accès partagé.
Les commandes sont exécutées exactement comme si le dépôt était stocké sur un disque local.
pg-primary ⇒ Créer la stanza
Le temps de création de fichier dans Azure est relativement lent, aussi la performance de backup/restore est améliorée en activant le regroupement de fichiers file bundling
.
pg-primary ⇒ Effectuer une sauvegarde du cluster de démonstration
Prise en charge du stockage d’objets compatible S3
pgBackRest prend en charge le positionnement des dépôts dans des magasins d’objets compatibles S3. Le bac utilisé pour stocker le dépôt doit être créé à l’avance — pgBackRest ne le fera pas automatiquement. Le dépôt peut être placé à la racine du bac (/), mais il est généralement préférable de le situer dans un sous-répertoire afin de pouvoir stocker également des journaux ou d’autres données dans le bac sans conflit.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configurez S3
NOTE :
La région et le point de terminaison devront être configurés selon l’emplacement du bac. Les valeurs indiquées ici correspondent à la région us-east-1.
Un rôle doit être créé pour exécuter pgBackRest et les autorisations du bac doivent être définies aussi restrictivement que possible. Si le rôle est associé à une instance dans AWS, pgBackRest récupérera automatiquement des identifiants temporaires lorsque repo3-s3-key-type=auto, ce qui signifie que les clés n’ont pas besoin d’être explicitement définies dans /etc/pgbackrest/pgbackrest.conf.
Politique Amazon S3 d’exemple qui restreint toutes les lectures et écritures au bac et au chemin du dépôt.
Les commandes sont exécutées exactement comme si le dépôt était stocké sur un disque local.
pg-primary ⇒ Créer la stanza
Le temps de création de fichier dans S3 est relativement lent, aussi la performance de backup/restore est améliorée en activant le regroupement de fichiers file bundling
.
pg-primary ⇒ Effectuer une sauvegarde du cluster de démonstration
Prise en charge SFTP
pgBackRest prend en charge le localisation des dépôts sur des hôtes SFTP. Le transfert de fichiers SFTP est relativement lent, aussi les commandes bénéficient-elles d’une augmentation de process-max afin de paralléliser le transfert de fichiers.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configurez SFTP
Lors de l’utilisation de SFTP, si libssh2 est compilé contre OpenSSH, repo4-sftp-public-key-file est facultatif.
pg-primary ⇒ Générer une paire de clés SSH pour la sauvegarde SFTP
sftp-server ⇒ Copier la clé publique de sauvegarde SFTP de pg-primary sur sftp-server
Les commandes sont exécutées exactement comme si le dépôt était stocké sur un disque local.
pg-primary ⇒ Ajouter l’empreinte du serveur SFTP au fichier known_hosts, car repo4-sftp-host-key-check-type est par défaut défini sur « strict »
pg-primary ⇒ Créer la stanza
pg-primary ⇒ Effectuer une sauvegarde du cluster de démonstration
Prise en charge du stockage d’objets compatible GCS
pgBackRest prend en charge la localisation des dépôts dans des magasins d’objets compatibles GCS. Le conteneur utilisé pour stocker le dépôt doit être créé à l’avance — pgBackRest ne le fera pas automatiquement. Le dépôt peut être situé à la racine du conteneur (/), mais il est généralement préférable de le placer dans un sous-répertoire afin de pouvoir stocker également des journaux ou d’autres données dans le conteneur sans conflit.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configurez le GCS
Lors de l’exécution sur GCE, définissez repo5-gcs-key-type=auto pour authentifier automatiquement à l’aide du compte de service de l’instance.
Les commandes sont exécutées exactement comme si le dépôt était stocké sur un disque local.
Le temps de création de fichier dans GCS est relativement lent, aussi la performance de backup/restore est améliorée en activant le regroupement de fichiers file bundling
.
Heure cible pour le dépôt
Le temps cible définit l’instant auquel les commandes lisent un dépôt sur un stockage versionné. Cela permet à la commande de lire le dépôt tel qu’il était à un instant donné, afin de récupérer des données supprimées ou corrompues par une erreur utilisateur ou un logiciel malveillant.
Le stockage versionné est pris en charge par S3, GCS et Azure, mais il est généralement désactivé par défaut. En plus d’activer la versioning, il peut être utile d’activer le verrouillage d’objets pour S3, ou la suppression progressive pour GCS ou Azure.
Lorsque l’option repo-target-time est spécifiée, l’option repo doit également être fournie. Il est probable que tous les types de dépôt ne prennent pas en charge la versionning, et il est généralement préférable de cibler un seul dépôt pour la récupération.
Notez que les comparaisons avec l’horodatage de stockage sont <= à l’horodatage fourni et que les millisecondes sont tronquées de l’horodatage lorsqu’elles sont fournies.
Pour démontrer cette fonctionnalité, la stanza demo dans le dépôt S3 est supprimée.
pg-primary ⇒ Supprimer le stanza dans le dépôt S3
Une fois le stanza supprimé, la commande info affichera le dépôt dans un état d’erreur.
pg-primary ⇒ Erreur lors de l’information
Toutefois, comme le stockage est versionné, il est possible d’examiner le dépôt à une époque antérieure à la suppression du stanza. Trouver l’instant cible peut s’avérer délicat selon la situation, mais dans ce cas, l’instant de suppression du stanza peut être déterminé en vérifiant quand backup.info a été supprimé.
pg-primary ⇒ Répertorier les versions de backup.info dans le bac
À présent, la commande info peut être exécutée avec une heure cible afin d’afficher le dépôt avant sa suppression.
pg-primary ⇒ Information avec heure cible
Si la sauvegarde requise est indiquée par la commande info, elle peut être restaurée en utilisant le même instant cible.
pg-primary ⇒ Restauration avec heure cible
Hôte dédié au dépôt
La configuration décrite dans Quickstart convient aux installations simples, mais pour les configurations d’entreprise, il est plus courant d’avoir un hôte dédié au dépôt, où sont stockées les sauvegardes et les fichiers d’archive WAL. Cette approche sépare les sauvegardes et l’archive WAL du serveur de base de données, de sorte que les défaillances de l’hôte de base de données aient un impact moindre. Il est toutefois recommandé d’utiliser un logiciel de sauvegarde traditionnel pour sauvegarder l’hôte du dépôt.
Sur les hôtes PostgreSQL, pg1-path doit être le chemin du cluster PostgreSQL local et aucune configuration pg1-host ne doit être définie. Lors de la configuration d’un hôte de dépôt, le fichier de configuration pgBackRest doit inclure l’option pg-host pour se connecter aux hôtes principaux et secondaires (le cas échéant). L’hôte de dépôt est le seul qui doit disposer d’une configuration pgBackRest connaissant plusieurs hôtes PostgreSQL. L’ordre n’a pas d’importance, par exemple pg1-path/pg1-host, pg2-path/pg2-host peut correspondre à un hôte principal ou secondaire.
Installation
Un nouvel hôte nommé repository est créé pour stocker les sauvegardes du cluster.
NOTE :
La version de pgBackRest installée sur l’hôte du dépôt doit correspondre exactement à la version installée sur l’hôte PostgreSQL.
L’utilisateur pgbackrest est créé pour posséder le dépôt pgBackRest. Tout utilisateur peut posséder le dépôt, mais il est préférable de ne pas utiliser postgres (le cas échéant) afin d’éviter toute confusion.
NOTE :
Lorsque pgBackRest est installé à partir d’un paquet, une configuration logrotate telle que /etc/logrotate.d/pgbackrest peut être fournie, qui effectue le rotation des journaux en tant qu’utilisateur spécifique via la directive su (par exemple su postgres postgres). Étant donné que les fichiers dans /var/log/pgbackrest sont possédés par l’utilisateur exécutant pgBackRest (ici pgbackrest), la directive su doit être mise à jour pour correspondre à cet utilisateur, sinon logrotate échouera avec une erreur de permission.
dépôt ⇒ Créer l’utilisateur pgbackrest
Installer pgBackRest à partir d’un paquet est préférable à la compilation à partir des sources. Lors de l’installation à partir d’un paquet, les autres instructions de cette section sont généralement inutiles, mais il se peut qu’un paquet omette de créer un répertoire ou applique des permissions incorrectes. Dans ce cas, il peut être nécessaire de créer manuellement les répertoires ou de mettre à jour les permissions.
Les paquets Debian/Ubuntu pour pgBackRest sont disponibles sur apt.PostgreSQL.org .
Si des paquets ne sont pas fournis pour votre distribution/version, vous pouvez compiler à partir des sources puis procéder à l’installation manuelle comme indiqué ici.
dépôt ⇒ Installer les dépendances
dépôt ⇒ Copier le binaire pgBackRest depuis l’hôte de compilation
pgBackRest nécessite des répertoires pour les journaux et la configuration, ainsi qu’un fichier de configuration.
dépôt ⇒ Créer le fichier de configuration pgBackRest et les répertoires
dépôt ⇒ Créer le dépôt pgBackRest
Configuration d’un accès SSH sans mot de passe
pgBackRest peut utiliser SSH sans mot de passe pour permettre la communication entre les hôtes. Il est également possible d’utiliser TLS, voir Configurer TLS .
dépôt ⇒ Créer une paire de clés pour l’hôte du dépôt
pg-primary ⇒ Créer une paire de clés pour l’hôte pg-primary
Échanger les clés entre le dépôt et pg-primary.
dépôt ⇒ Copiez la clé publique pg-primary vers le dépôt
pg-primary ⇒ Copier la clé publique du dépôt sur pg-primary
Testez que les connexions peuvent être établies depuis le dépôt vers pg-primary et inversement.
dépôt ⇒ Tester la connexion depuis le dépôt vers pg-primary
pg-primary ⇒ Tester la connexion depuis pg-primary vers le dépôt
NOTE :
ssh a été configuré pour autoriser uniquement l’exécution de pgBackRest via ssh sans mot de passe. Cela renforce la sécurité en cas de compromission d’un compte de service.
Configuration
L’hôte du dépôt doit être configuré avec l’hôte/utilisateur principal et le chemin de la base de données. Le principal sera configuré en tant que pg1 afin de permettre l’ajout ultérieur d’un serveur de secours.
dépôt : /etc/pgbackrest/pgbackrest.conf ⇒ Configurez pg1-host/pg1-host-user et pg1-path
L’hôte de base de données doit être configuré avec l’hôte/utilisateur du dépôt. La valeur par défaut de l’option repo1-host-user est pgbackrest. Si l’utilisateur postgres effectue des restaurations sur l’hôte du dépôt, il est préférable de ne pas autoriser également l’utilisateur postgres à effectuer des sauvegardes. Toutefois, l’utilisateur postgres peut lire directement le dépôt s’il appartient au même groupe que l’utilisateur pgbackrest.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configure repo1-host/repo1-host-user
La configuration de PostgreSQL peut être trouvée dans la section Configurer la sauvegarde archivée .
Les commandes sont exécutées de la même manière qu’avec une configuration à hôte unique, à ceci près que certaines commandes, telles que backup et expire, sont exécutées depuis l’hôte du dépôt plutôt que depuis l’hôte de la base de données.
Créer et vérifier une stanza
Créez le stanza dans le nouveau dépôt.
dépôt ⇒ Créer le stanza
Vérifiez que la configuration est correcte sur les hôtes de base de données et de dépôt. Plus d’informations sur la commande check sont disponibles dans Vérifier la configuration
.
pg-primary ⇒ Vérifier la configuration
dépôt ⇒ Vérifiez la configuration
Effectuer une sauvegarde
Pour effectuer une sauvegarde du cluster PostgreSQL, exécutez pgBackRest avec la commande backup sur l’hôte du dépôt.
dépôt ⇒ Sauvegarder le cluster de démonstration
Depuis la création d’un nouveau dépôt sur l’hôte du dépôt, l’avertissement indiquant que la sauvegarde incrémentielle passe à une sauvegarde complète a été émis.
Restaurer une sauvegarde
Pour effectuer une restauration du cluster PostgreSQL, exécutez pgBackRest avec la commande restore sur l’hôte de la base de données.
pg-primary ⇒ Arrêtez le cluster de démonstration, effectuez une restauration, puis redémarrez PostgreSQL
Sauvegarde / Restauration parallèle
pgBackRest propose un traitement parallèle afin d’améliorer les performances de compression et de transfert. Le nombre de processus à utiliser pour cette fonctionnalité est défini à l’aide de l’option --process-max.
Il est généralement préférable de ne pas utiliser plus de 25 % des processeurs disponibles pour la commande backup. Les sauvegardes n’ont pas besoin de s’exécuter aussi rapidement, à condition d’être effectuées régulièrement, et le processus de sauvegarde ne doit pas impacter les performances de la base de données, si possible.
La commande de restauration peut et doit utiliser tous les processeurs disponibles, car pendant une restauration le cluster PostgreSQL est arrêté et il n’y a généralement aucune autre tâche importante en cours sur l’hôte. Si l’hôte contient plusieurs clusters, cela doit être pris en compte lors de la configuration de la parallélisation de la restauration.
dépôt ⇒ Effectuer une sauvegarde avec un seul processus
dépôt : /etc/pgbackrest/pgbackrest.conf ⇒ Configurez pgBackRest pour utiliser plusieurs processus backup
dépôt ⇒ Effectuer une sauvegarde avec plusieurs processus
dépôt ⇒ Obtenir les informations de sauvegarde pour le cluster de démonstration
La performance de la dernière sauvegarde devrait être améliorée en utilisant plusieurs processus. Pour des sauvegardes très petites, la différence peut ne pas être très marquée, mais à mesure que la taille de la base de données augmente, les gains de temps deviennent plus importants.
Démarrage et arrêt
Si un serveur de secours est promu à des fins de test, ou si un cluster de test est restauré à partir d’une sauvegarde de production, il est recommandé de bloquer l’écriture de ces clusters dans les dépôts pgBackRest. Cette mesure peut être mise en œuvre à l’aide de la commande stop.
Les commandes qui écrivent et sont bloquées par stop sont : archive-push, backup, expire, stanza-create et stanza-upgrade. Notez que stanza-delete est une exception à cette règle (voir Supprimer une stanza
pour plus de détails).
pg-primary ⇒ Arrêt des commandes d’écriture pgBackRest
Les nouvelles commandes d’écriture pgBackRest ne s’exécuteront plus.
dépôt ⇒ Tentative de sauvegarde
Spécifiez l’option --force pour interrompre toute commande d’écriture pgBackRest en cours d’exécution. Cela inclut l’archive-get asynchrone (même si elle redémarre si PostgreSQL en a besoin). Si pgBackRest est déjà arrêté, un nouvel arrêt générera un avertissement.
pg-primary ⇒ Arrêtez à nouveau les services pgBackRest
Redémarrez les commandes d’écriture pgBackRest à l’aide de la commande start. Les commandes d’écriture en cours avant l’arrêt ne reprendront pas automatiquement, mais elles sont désormais autorisées à redémarrer.
pg-primary ⇒ Démarrer les commandes d’écriture pgBackRest
Il est également possible d’arrêter pgBackRest pour une seule stanza.
pg-primary ⇒ Arrête les commandes d’écriture pgBackRest pour la stanza demo
Les nouvelles commandes d’écriture pgBackRest pour la stanza spécifiée ne s’exécuteront plus.
dépôt ⇒ Tentative de sauvegarde
La stanza doit également être précisée lors du lancement des commandes d’écriture pgBackRest pour une seule stanza.
pg-primary ⇒ Démarrer les commandes d’écriture pgBackRest pour la stanza demo
Réplication
La réplication permet de créer plusieurs copies d’un cluster PostgreSQL (appelées réplicas) à partir d’un seul hôte principal. Les réplicas sont utiles pour équilibrer les lectures et assurer une redondance en cas de défaillance de l’hôte principal.
Installation
Un nouvel hôte nommé pg-standby est créé pour exécuter le serveur de secours.
Installer pgBackRest à partir d’un paquet est préférable à la compilation à partir des sources. Lors de l’installation à partir d’un paquet, les autres instructions de cette section sont généralement inutiles, mais il se peut qu’un paquet omette de créer un répertoire ou applique des permissions incorrectes. Dans ce cas, il peut être nécessaire de créer manuellement les répertoires ou de mettre à jour les permissions.
Les paquets Debian/Ubuntu pour pgBackRest sont disponibles sur apt.PostgreSQL.org .
Si des paquets ne sont pas fournis pour votre distribution/version, vous pouvez compiler à partir des sources puis procéder à l’installation manuelle comme indiqué ici.
pg-standby ⇒ Installer les dépendances
pg-standby ⇒ Copier le binaire pgBackRest depuis l’hôte de compilation
pgBackRest nécessite des répertoires pour les journaux et la configuration, ainsi qu’un fichier de configuration.
pg-standby ⇒ Créer le fichier de configuration et les répertoires pgBackRest
Configuration d’un accès SSH sans mot de passe
pgBackRest peut utiliser SSH sans mot de passe pour permettre la communication entre les hôtes. Il est également possible d’utiliser TLS, voir Configurer TLS .
pg-standby ⇒ Créer une paire de clés hôte pg-standby
Échanger les clés entre le dépôt et pg-standby.
dépôt ⇒ Copiez la clé publique pg-standby sur le dépôt
pg-standby ⇒ Copier la clé publique du dépôt sur pg-standby
Testez que les connexions peuvent être établies depuis le dépôt vers pg-standby et réciproquement.
dépôt ⇒ Tester la connexion depuis le dépôt vers pg-standby
pg-standby ⇒ Tester la connexion depuis pg-standby vers le dépôt
Standby chaud
Une station de secours active effectue la réplication à l’aide de l’archive WAL et autorise les requêtes en lecture seule.
La configuration de pgBackRest est très similaire à celle de pg-primary, sauf que le type de récupération standby sera utilisé pour maintenir le cluster en mode récupération lorsque la fin du flux WAL aura été atteinte.
pg-standby:/etc/pgbackrest/pgbackrest.conf ⇒ Configurez pgBackRest sur le serveur de secours
Le cluster de démonstration doit être créé (même s’il sera écrasé lors de la restauration) afin de générer les fichiers de configuration PostgreSQL.
pg-standby ⇒ Créer un cluster de démonstration
À présent, le serveur de secours peut être créé avec la commande restore.
IMPORTANT :
Si le cluster doit être promu sans devenir le nouveau principal (par exemple pour des rapports ou des tests), utilisez --archive-mode=off ou définissez archive_mode=off dans postgresql.conf afin de désactiver l’archivage. Si l’archivage n’est pas désactivé, le dépôt risque d’être pollué par des WAL qui peuvent compliquer les restaurations.
pg-standby ⇒ Effectuer la restauration du cluster de secours démo
La configuration est en cas de promotion du serveur de secours en serveur principal.
pg-standby:/etc/postgresql/17/demo/postgresql.conf ⇒ Configurez PostgreSQL
pg-standby ⇒ Démarrer PostgreSQL
Le journal PostgreSQL fournit des informations précieuses sur la récupération. Notez notamment que le cluster est passé en mode standby et est prêt à accepter des connexions en lecture seule.
pg-standby ⇒ Examinez la sortie du journal PostgreSQL pour les messages indiquant une réussite
Une façon simple de vérifier que la réplication est correctement configurée consiste à créer une table sur pg-primary.
pg-primary ⇒ Créer une nouvelle table sur le serveur primaire
Ensuite, interrogez la même table sur pg-standby.
pg-standby ⇒ Interroger une nouvelle table sur le serveur de secours
Qu’est-ce qui s’est mal passé ? Puisque PostgreSQL extrait les segments WAL de l’archive pour effectuer la réplication, les modifications ne seront pas visibles sur le serveur de secours tant que le segment WAL contenant ces modifications n’aura pas été transféré depuis pg-primary.
Cela peut être effectué manuellement en appelant pg_switch_wal(), ce qui transfère le segment WAL actuel vers l’archive (un nouveau segment WAL est créé pour contenir les modifications ultérieures).
pg-primary ⇒ Appel à pg_switch_wal()
À présent, après un court délai, la table apparaîtra sur pg-standby.
pg-standby ⇒ La nouvelle table existe désormais sur le serveur de secours (peut nécessiter plusieurs tentatives)
Vérifiez la configuration du serveur de secours pour accéder au dépôt.
pg-standby ⇒ Vérifier la configuration
Réplication en streaming
Au lieu de se fier uniquement à l’archive WAL, la réplication en streaming établit une connexion directe avec le principal et applique les modifications dès qu’elles sont effectuées sur ce dernier. Cela réduit considérablement le délai de latence entre le principal et le secondaire.
La réplication en streaming nécessite un utilisateur disposant du privilège de réplication.
pg-primary ⇒ Créer un utilisateur de réplication
Le fichier pg_hba.conf doit être mis à jour pour autoriser le serveur de secours à se connecter en tant qu’utilisateur de réplication. Veillez à remplacer l’adresse IP ci-dessous par l’adresse IP réelle de votre serveur pg-standby. Un rechargement sera nécessaire après la modification du fichier pg_hba.conf.
pg-primary ⇒ Créer une entrée pg_hba.conf pour l’utilisateur de réplication
Le serveur de secours doit savoir comment contacter le serveur principal, donc le paramètre primary_conninfo sera configuré dans pgBackRest.
pg-standby:/etc/pgbackrest/pgbackrest.conf ⇒ Définir primary_conninfo
Il est possible de configurer un mot de passe dans le paramètre primary_conninfo, mais utiliser un fichier .pgpass est plus flexible et plus sécurisé.
pg-standby ⇒ Configurez le mot de passe de réplication dans le fichier .pgpass.
À présent, le serveur de secours peut être créé avec la commande restore.
pg-standby ⇒ Arrêtez PostgreSQL et effectuez la restauration du cluster de secours démo
NOTE :
Le paramètre primary_conninfo a été écrit dans le fichier postgresql.auto.conf car il a été configuré en tant que recovery-option dans pgbackrest.conf. L’option --type=preserve peut être utilisée avec restore pour laisser le fichier postgresql.auto.conf existant inchangé si ce comportement est préféré.
pg-standby ⇒ Démarrer PostgreSQL
Le journal PostgreSQL confirmera que la réplication en flux a commencé.
pg-standby ⇒ Examinez la sortie du journal PostgreSQL pour les messages indiquant une réussite
Désormais, lorsque vous créerez une table sur pg-primary, elle apparaîtra sur pg-standby rapidement et sans avoir à appeler pg_switch_wal().
pg-primary ⇒ Créer une nouvelle table sur le serveur primaire
pg-standby ⇒ Interroger une table sur le serveur de secours
Stanzas multiples
pgBackRest prend en charge plusieurs stanzas. L’utilisation la plus courante consiste à partager un hôte de dépôt entre plusieurs stanzas.
Installation
Un nouvel hôte nommé pg-alt est créé pour exécuter le nouveau primaire.
Installer pgBackRest à partir d’un paquet est préférable à la compilation à partir des sources. Lors de l’installation à partir d’un paquet, les autres instructions de cette section sont généralement inutiles, mais il se peut qu’un paquet omette de créer un répertoire ou applique des permissions incorrectes. Dans ce cas, il peut être nécessaire de créer manuellement les répertoires ou de mettre à jour les permissions.
Les paquets Debian/Ubuntu pour pgBackRest sont disponibles sur apt.PostgreSQL.org .
Si des paquets ne sont pas fournis pour votre distribution/version, vous pouvez compiler à partir des sources puis procéder à l’installation manuelle comme indiqué ici.
pg-alt ⇒ Installer les dépendances
pg-alt ⇒ Copier le binaire pgBackRest depuis l’hôte de compilation
pgBackRest nécessite des répertoires pour les journaux et la configuration, ainsi qu’un fichier de configuration.
pg-alt ⇒ Créer le fichier de configuration et les répertoires pgBackRest
Configuration d’un accès SSH sans mot de passe
pgBackRest peut utiliser SSH sans mot de passe pour permettre la communication entre les hôtes. Il est également possible d’utiliser TLS, voir Configurer TLS .
pg-alt ⇒ Créer une paire de clés hôte pg-alt
Échanger les clés entre le dépôt et pg-alt.
dépôt ⇒ Copiez la clé publique pg-alt vers le dépôt
pg-alt ⇒ Copier la clé publique du dépôt sur pg-alt
Testez que les connexions peuvent être établies depuis le dépôt vers pg-alt et réciproquement.
dépôt ⇒ Tester la connexion depuis le dépôt vers pg-alt
pg-alt ⇒ Tester la connexion depuis pg-alt vers le dépôt
Configuration
La configuration de pgBackRest est presque identique à celle de pg-primary, sauf que la stanza demo-alt sera utilisée, de sorte que les sauvegardes et l’archive seront stockées dans un emplacement séparé.
pg-alt:/etc/pgbackrest/pgbackrest.conf ⇒ Configurez pgBackRest sur le nouveau serveur primaire
dépôt : /etc/pgbackrest/pgbackrest.conf ⇒ Configurez pg1-host/pg1-host-user et pg1-path
Configurer un cluster de démonstration
pg-alt ⇒ Créer le cluster de démonstration
pg-alt:/etc/postgresql/17/demo/postgresql.conf ⇒ Configure les paramètres PostgreSQL
pg-alt ⇒ Démarrer le cluster de démonstration
Créer la stanza et vérifier la configuration
La commande stanza-create doit être exécutée pour initialiser la stanza. Il est recommandé d’exécuter la commande check après stanza-create afin de vérifier que l’archivage et les sauvegardes sont correctement configurés.
pg-alt ⇒ Créer la stanza et vérifier la configuration
Si la commande check est exécutée depuis l’hôte du dépôt, tous les stanzas seront vérifiés.
dépôt ⇒ Vérifiez la configuration de tous les stanzas
Archivage asynchrone
La sauvegarde asynchrone est activée avec l’option archive-async. Cette option permet une opération asynchrone pour les commandes archive-push et archive-get.
Un chemin de tampon est requis. Les commandes stockeront les données temporaires ici, mais chaque commande fonctionne de manière assez différente ; l’utilisation du chemin de tampon est donc décrite en détail dans chaque section.
pg-primary ⇒ Créer le répertoire de file d’attente
pg-standby ⇒ Créer le répertoire de tampon
Le chemin d’attente doit être configuré et l’archivage asynchrone activé. L’archivage asynchrone apporte automatiquement certains avantages en réduisant le nombre de connexions établies vers le stockage distant, mais la configuration de process-max peut améliorer considérablement les performances en parallélisant les opérations. Veillez à ne pas définir process-max trop élevé afin de ne pas affecter les opérations normales de la base de données.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configurez le chemin d’épissage et l’archivage asynchrone
pg-standby:/etc/pgbackrest/pgbackrest.conf ⇒ Configurez le chemin d’épissage et l’archivage asynchrone
NOTE :
process-max est configuré à l’aide de sections de commande afin que l’option ne soit pas utilisée lors de la sauvegarde ni de la restauration. Cela permet également d’attribuer des valeurs différentes à archive-push et archive-get.
À des fins de démonstration, la réplication en streaming sera interrompue afin de forcer PostgreSQL à récupérer les WAL à l’aide de la commande restore_command.
pg-primary ⇒ Interrompre la réplication en continu en modifiant le mot de passe de réplication
pg-standby ⇒ Redémarrer le serveur de secours pour interrompre la connexion
Archivage push
La commande asynchrone archive-push déplace l’archivage des WAL vers un processus (ou plusieurs processus) distinct pour améliorer le débit. Elle fonctionne en « regardant à l’avance » pour déterminer quels segments WAL sont prêts à être archivés, au-delà de la demande actuelle de PostgreSQL via le archive_command. Les segments WAL sont transférés directement depuis le répertoire pg_xlog/pg_wal et la réussite n’est retournée par le archive_command que lorsque le segment WAL a été stocké en toute sécurité dans l’archive.
Le répertoire de stockage temporaire contient l’état actuel de l’archivage des WAL. Les fichiers d’état écrits dans le répertoire de stockage temporaire sont généralement de taille nulle et doivent consommer une quantité négligeable d’espace (au plus quelques mégaoctets) et très peu d’E/S. Toutes les informations contenues dans ce répertoire peuvent être régénérées, aussi n’est-il pas nécessaire de préserver le répertoire de stockage temporaire si le cluster est déplacé vers de nouveaux matériels.
IMPORTANT :
Dans l’implémentation originale de l’archivage asynchrone, les segments WAL étaient copiés dans le répertoire tampon avant compression et transfert. La nouvelle implémentation copie directement les segments WAL depuis le répertoire pg_xlog. Si l’archivage asynchrone était utilisé dans la version 1.12 ou antérieure, lisez attentivement les notes de publication de la version 1.13 avant de procéder à la mise à jour.
Le fichier [stanza]-archive-push-async.log peut être utilisé pour surveiller l’activité du processus asynchrone. Une bonne manière de tester cela consiste à envoyer rapidement un nombre important de segments WAL.
pg-primary ⇒ Test de l’archivage asynchrone parallèle
Le fichier journal contiendra désormais une activité parallèle et asynchrone.
pg-primary ⇒ Vérifier les résultats dans le journal
Récupération d’archive
La commande asynchrone archive-get maintient une file locale de WAL afin d’améliorer le débit. Si un segment de WAL n’est pas présent dans la file, il est récupéré à partir du dépôt, accompagné de suffisamment de segments de WAL consécutifs pour remplir la file. La taille maximale de la file est définie par archive-get-queue-max. Chaque fois que la file est à moins de la moitié pleine, davantage de WAL est récupéré afin de la remplir.
L’opération asynchrone est particulièrement utile dans les environnements qui génèrent beaucoup de WAL ou qui disposent d’une connexion à haute latence avec le stockage du dépôt (par exemple, S3 ou d’autres magasins d’objets). Dans le cas d’une connexion à haute latence, il peut être pertinent d’augmenter process-max.
Le fichier [stanza]-archive-get-async.log peut être utilisé pour surveiller l’activité du processus asynchrone.
pg-standby ⇒ Vérifier les résultats dans le journal
pg-primary ⇒ Corriger la réplication en streaming en modifiant le mot de passe de réplication
Sauvegarde à partir d’un serveur de secours
pgBackRest peut effectuer des sauvegardes sur une instance de secours au lieu du serveur principal. Les sauvegardes sur instance de secours nécessitent que l’hôte pg-standby soit configuré et que l’option backup-standby soit activée. Si plusieurs instances de secours sont configurées, la première instance de secours en cours d’exécution trouvée sera utilisée pour la sauvegarde.
dépôt : /etc/pgbackrest/pgbackrest.conf ⇒ Configurez pg2-host/pg2-host-user et pg2-path
La base primaire comme la base standby sont nécessaires pour effectuer la sauvegarde, bien que l’immense majorité des fichiers soient copiés depuis le standby afin de réduire la charge du primaire. Les hôtes de base de données peuvent être configurés dans n’importe quel ordre ; pgBackRest détermine automatiquement lequel est primaire et lequel est standby.
dépôt ⇒ Effectuer une sauvegarde du cluster de démonstration depuis pg2
Cette sauvegarde incrémentielle montre que la majeure partie des fichiers provient de l’hôte pg-standby et qu’un petit nombre provient de l’hôte pg-primary.
pgBackRest crée une sauvegarde en mode basculement identique à celle effectuée sur le serveur principal. Il procède en lançant/arrêtant la sauvegarde sur l’hôte pg-primary, en copiant uniquement les fichiers répliqués depuis l’hôte pg-standby, puis en copiant les quelques fichiers restants depuis l’hôte pg-primary. Cela signifie que les journaux et les statistiques de la base de données principale seront inclus dans la sauvegarde.
Mise à jour de PostgreSQL
Immédiatement après la mise à niveau de PostgreSQL vers une nouvelle version majeure, le pg-path de toutes les configurations pgBackRest doit être défini sur le nouveau emplacement de la base de données, puis la commande stanza-upgrade doit être exécutée. Si plusieurs dépôts sont configurés sur l’hôte, le stanza sera mis à niveau sur chacun. Si la base de données est hors ligne, utilisez l’option --no-online.
Les instructions suivantes ne constituent pas un guide complet de mise à jour de PostgreSQL, mais décrivent le processus général de mise à jour d’un nœud principal et d’un nœud secondaire, dans le but de démontrer les étapes nécessaires à la reconfiguration de pgBackRest. Il est recommandé de prendre une sauvegarde avant la mise à jour.
pg-primary ⇒ Arrêt de l’ancêtre cluster
Arrêtez l’ancien cluster sur le serveur de secours, car il sera restauré à partir du cluster nouvellement mis à jour.
pg-standby ⇒ Arrêter l’ancêtre cluster
Créez le nouveau cluster et effectuez la mise à jour.
pg-primary ⇒ Créer un nouveau cluster et effectuer la mise à jour
Configurez les paramètres du nouveau cluster et le port.
pg-primary:/etc/postgresql/18/demo/postgresql.conf ⇒ Configurez PostgreSQL
Mettez à jour la configuration de pgBackRest sur tous les systèmes pour qu’elle pointe vers le nouveau cluster.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Mettre à jour pg1-path
pg-standby:/etc/pgbackrest/pgbackrest.conf ⇒ Mettre à jour pg-path
dépôt : /etc/pgbackrest/pgbackrest.conf ⇒ Mettre à jour pg1-path et pg2-path, désactiver la sauvegarde depuis le serveur de secours
pg-primary ⇒ Copie de la configuration HBA
Avant de démarrer le nouveau cluster, la commande stanza-upgrade doit être exécutée.
pg-primary ⇒ Mettre à jour la stanza
Démarrer le nouveau cluster et confirmer qu’il est correctement installé.
pg-primary ⇒ Démarrer un nouveau cluster
Testez la configuration à l’aide de la commande check.
pg-primary ⇒ Vérifier la configuration
Supprimez le cluster ancien.
pg-primary ⇒ Supprimer le cluster ancien
Installez les nouveaux binaires PostgreSQL sur le serveur de secours et créez le cluster.
pg-standby ⇒ Supprimer l’ancien cluster et créer le nouveau cluster
Exécutez check sur l’hôte du dépôt. L’avertissement concernant l’arrêt du serveur secondaire est attendu, car le cluster secondaire est arrêté. L’exécution de cette commande montre que le serveur de dépôt est conscient de la présence du serveur secondaire et est correctement configuré pour le serveur principal.
dépôt ⇒ Vérifier la configuration
Effectuez une sauvegarde complète sur le cluster nouvellement configuré, puis restaurez le serveur de secours à partir de cette sauvegarde. Le type de sauvegarde sera automatiquement modifié en full si incr ou diff est demandé.
dépôt ⇒ Exécuter une sauvegarde complète
pg-standby ⇒ Effectuer la restauration du cluster de secours démo
pg-standby ⇒ Démarrer PostgreSQL et vérifier la configuration de pgBackRest
La sauvegarde depuis un serveur de secours peut maintenant être activée, puisque le serveur de secours est restauré.
dépôt : /etc/pgbackrest/pgbackrest.conf ⇒ Réactiver la sauvegarde depuis le serveur secondaire
3 - Guide utilisateur (RHEL)
Introduction
Ce guide utilisateur est conçu pour être suivi séquentiellement, du début à la fin — chaque section dépend de la précédente. Par exemple, la section Restauration repose sur la configuration effectuée dans la section Démarrage rapide . Une fois pgBackRest en fonctionnement, il est possible de sauter des sections, mais il est recommandé de suivre le guide dans l’ordre lors de la première utilisation.
Bien que les exemples de ce guide soient destinés à RHEL et à PostgreSQL 14, il devrait être relativement facile de les appliquer à toute distribution Unix et toute version de PostgreSQL. Les seules commandes spécifiques au système d’exploitation sont celles permettant de créer, démarrer, arrêter et supprimer des clusters PostgreSQL. Les commandes pgBackRest seront identiques sur tout système Unix, bien que l’emplacement de l’exécutable puisse varier. Bien que pgBackRest cherche à fonctionner de manière cohérente sur les différentes versions de PostgreSQL, certaines différences subtiles entre versions de PostgreSQL peuvent apparaître dans ce guide lors de l’illustration de certains exemples, par exemple les chemins ou noms de fichiers de PostgreSQL, ainsi que les paramètres.
Informations de configuration et documentation pour PostgreSQL sont disponibles dans le Manuel de PostgreSQL.
Une approche quelque peu originale est adoptée pour la documentation dans ce guide utilisateur. Chaque commande est exécutée sur une machine virtuelle au moment où la documentation est générée à partir de la source XML. Cela signifie que vous pouvez avoir une confiance élevée quant au bon fonctionnement des commandes, dans l’ordre présenté. La sortie est capturée et affichée sous la commande lorsque cela est pertinent. Si la sortie n’est pas incluse, c’est parce qu’elle a été jugée sans intérêt ou qu’elle aurait pu distraire du récit.
Toutes les commandes doivent être exécutées en tant qu’utilisateur non privilégié disposant des droits sudo pour les utilisateurs root et postgres. Il est également possible d’exécuter les commandes directement en tant que leurs utilisateurs respectifs sans modification, auquel cas les commandes sudo peuvent être omises.
Concepts
Les concepts suivants sont définis en tant qu’ils sont pertinents pour pgBackRest, PostgreSQL et ce guide utilisateur.
sauvegarde
Une sauvegarde est une copie cohérente d’un cluster de base de données pouvant être restaurée pour récupérer après une panne matérielle, effectuer une restauration à un instant donné ou mettre en place un serveur secondaire nouveau.
Sauvegarde complète : pgBackRest copie l’intégralité du contenu du cluster de base de données vers la sauvegarde. La première sauvegarde du cluster de base de données est toujours une sauvegarde complète. pgBackRest est toujours en mesure de restaurer directement une sauvegarde complète. La sauvegarde complète ne dépend d’aucun fichier en dehors d’elle-même pour assurer sa cohérence.
Sauvegarde différentielle : pgBackRest copie uniquement les fichiers du cluster de base de données modifiés depuis la dernière sauvegarde complète. Pour restaurer une sauvegarde différentielle, pgBackRest copie tous les fichiers de celle-ci ainsi que les fichiers inchangés requis de la sauvegarde complète précédente. Une sauvegarde différentielle occupe moins d’espace disque qu’une sauvegarde complète, mais elle et la sauvegarde complète doivent chacune être valides pour permettre la restauration.
Sauvegarde incrémentielle : pgBackRest copie uniquement les fichiers du cluster de base de données ayant changé depuis la dernière sauvegarde (qui peut être une autre sauvegarde incrémentielle, une sauvegarde différentielle ou une sauvegarde complète). Comme une sauvegarde incrémentielle ne comprend que les fichiers modifiés depuis la sauvegarde précédente, elle est généralement bien plus petite que les sauvegardes complètes ou différentielles. Comme pour la sauvegarde différentielle, la sauvegarde incrémentielle dépend d’autres sauvegardes pour être valide lors d’une restauration. Étant donné qu’une sauvegarde incrémentielle ne contient que les fichiers modifiés depuis la dernière sauvegarde, toutes les sauvegardes incrémentielles antérieures jusqu’à la dernière sauvegarde différentielle, la dernière sauvegarde différentielle et la dernière sauvegarde complète doivent être valides afin de pouvoir restaurer la sauvegarde incrémentielle. Si aucune sauvegarde différentielle n’existe, alors toutes les sauvegardes incrémentielles antérieures jusqu’à la dernière sauvegarde complète, qui doit exister, ainsi que la sauvegarde complète elle-même doivent être valides pour restaurer la sauvegarde incrémentielle.
restauration
Une restauration est l’opération de copie d’une sauvegarde sur un système où elle sera lancée en tant que cluster de base de données en cours d’exécution. Une restauration nécessite les fichiers de sauvegarde et un ou plusieurs segments WAL afin de fonctionner correctement.
Journaux d’écriture anticipée (WAL)
Le WAL est le mécanisme utilisé par PostgreSQL pour garantir qu’aucun changement validé n’est perdu. Les transactions sont écrites séquentiellement dans le WAL, et une transaction est considérée comme validée lorsque ces écritures sont écrites sur le disque. Par la suite, un processus en arrière-plan écrit les modifications dans les fichiers du cluster de base de données principal (également appelés heap). En cas de panne, le WAL est rejoué afin de rendre la base de données cohérente.
Les journaux d’écriture (WAL) sont conceptuellement infinis, mais en pratique ils sont divisés en fichiers individuels de 16 Mo appelés segments. Les segments WAL suivent la convention de nommage 0000000100000A1E000000FE, où les huit premiers chiffres hexadécimaux représentent la timeline et les seize chiffres suivants constituent le numéro de séquence logique (LSN).
Chiffrement
Le chiffrement est le processus de conversion des données dans un format illisible à moins qu’un mot de passe approprié (appelé également phrase secrète) ne soit fourni.
pgBackRest chiffrera le dépôt en fonction d’un mot de passe fourni par l’utilisateur, empêchant ainsi tout accès non autorisé aux données stockées dans le dépôt.
Mise à jour de pgBackRest
Mise à jour de pgBackRest de la version v2.x à la v2.y
La mise à niveau depuis la version v2.x vers la version v2.y est directe. Le format du dépôt n’a pas changé, aussi, pour la plupart des installations, il s’agit simplement d’installer les binaires de la nouvelle version. Il est également possible de revenir à une version antérieure si vous n’avez pas utilisé de fonctionnalités nouvelles non prises en charge par la version plus ancienne.
IMPORTANT :
Les versions locales et distantes de pgBackRest doivent correspondre exactement, elles doivent donc être mises à jour ensemble. En cas de désaccord, l’archivage des WAL et les sauvegardes ne fonctionneront pas jusqu’à ce que les versions soient synchronisées. Dans ce cas, l’erreur suivante sera signalée : [ProtocolError] expected value '2.x' for greeting key 'version' but got '2.y'.
Construction
Installer pgBackRest à partir d’un paquet est préférable à la compilation à partir des sources. Consultez Installation pour plus d’informations sur les paquets.
Lors de la compilation à partir des sources, il est préférable d’utiliser une machine de compilation plutôt que de compiler directement sur la production. La plupart des outils nécessaires à la compilation ne devraient généralement pas être installés en production. pgBackRest se compose d’un seul exécutable, ce qui facilite sa copie sur une nouvelle machine une fois compilé.
build ⇒ Télécharger la version 2.59.1 de pgBackRest vers le chemin /build
build ⇒ Installer les dépendances de compilation
build ⇒ Configurer et compiler pgBackRest
build ⇒ Exécuter éventuellement des tests de fumée pour vérifier que pgBackRest a été correctement construit
Installation
Un nouvel hôte nommé pg-primary est créé pour contenir le cluster de démonstration et exécuter les exemples pgBackRest.
Installer pgBackRest à partir d’un paquet est préférable à la compilation à partir des sources. Lors de l’installation à partir d’un paquet, les autres instructions de cette section sont généralement inutiles, mais il se peut qu’un paquet omette de créer un répertoire ou applique des permissions incorrectes. Dans ce cas, il peut être nécessaire de créer manuellement les répertoires ou de mettre à jour les permissions.
Les paquets RHEL pour pgBackRest sont disponibles sur yum.PostgreSQL.org .
Si des paquets ne sont pas fournis pour votre distribution/version, vous pouvez compiler à partir des sources puis procéder à l’installation manuelle comme indiqué ici.
pg-primary ⇒ Installer les dépendances
pg-primary ⇒ Copier le binaire pgBackRest depuis l’hôte de compilation
pgBackRest nécessite des répertoires pour les journaux et la configuration, ainsi qu’un fichier de configuration.
pg-primary ⇒ Créer le fichier de configuration et les répertoires pgBackRest
pgBackRest doit maintenant être correctement installé, mais il est préférable de le vérifier. Si des dépendances ont été omises, une erreur sera générée lors de l’exécution de pgBackRest en ligne de commande.
pg-primary ⇒ Vérifiez que l’installation s’est déroulée correctement
Démarrage rapide
La section Début rapide abordera la configuration basique de pgBackRest et de PostgreSQL, et présentera les commandes backup, restore et info.
Configurer un cluster de démonstration
La création du cluster de démonstration est facultative mais fortement recommandée, en particulier pour les nouveaux utilisateurs, car les commandes d’exemple du guide utilisateur font référence au cluster de démonstration ; les exemples supposent que le cluster de démonstration s’exécute sur le port par défaut (c’est-à-dire 5432). Le cluster ne sera pas lancé avant une section ultérieure, car il reste encore certaines configurations à effectuer.
pg-primary ⇒ Créer le cluster de démonstration
Par défaut, RHEL inclut le jour de la semaine dans le nom du fichier de journalisation. Cela complique un peu le guide utilisateur, aussi le paramètre log_filename est-il défini sur une valeur constante.
pg-primary:/var/lib/pgsql/14/data/postgresql.conf ⇒ Définir log_filename
Configurer une stanza de cluster
Une stanza est la configuration d’un cluster de base de données PostgreSQL qui définit son emplacement, la manière dont il sera sauvegardé, les options d’archivage, etc. La plupart des serveurs de base de données n’ont qu’un seul cluster PostgreSQL et donc une seule stanza, tandis que les serveurs de sauvegarde ont une stanza pour chaque cluster de base de données à sauvegarder.
Il est tentant de nommer la stanza en fonction du cluster principal, mais un nom plus pertinent décrit les bases de données contenues dans le cluster. Étant donné que le nom de la stanza sera utilisé pour le principal et toutes les répliques, il est préférable de choisir un nom qui décrit la fonction réelle du cluster, par exemple app ou dw, plutôt que le nom local du cluster, comme main ou prod.
Le nom « demo » décrit avec précision le but de ce cluster, ce qui en fait également un bon nom de stanza.
pgBackRest doit connaître l’emplacement du répertoire de données de base du cluster PostgreSQL. Le chemin peut être demandé directement à PostgreSQL, mais dans un scénario de récupération, le processus PostgreSQL ne sera pas disponible. Lors des sauvegardes, la valeur fournie à pgBackRest sera comparée au chemin sur lequel PostgreSQL est en cours d’exécution, et elles doivent être identiques, sinon la sauvegarde retournera une erreur. Assurez-vous que pg-path est exactement égal à la valeur data_directory rapportée par PostgreSQL.
Par défaut, RHEL stocke les clusters dans /var/lib/pgsql/[version]/data, ce qui facilite la détermination du chemin correct du répertoire de données.
Lors de la création du fichier /etc/pgbackrest/pgbackrest.conf, le propriétaire de la base de données (généralement postgres) doit être autorisé en lecture.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configure le répertoire de données du cluster PostgreSQL
Les fichiers de configuration de pgBackRest suivent une convention semblable à celle des fichiers INI sous Windows. Les sections sont indiquées par du texte entre crochets, et les paires clé/valeur sont contenues dans chaque section. Les lignes commençant par # sont ignorées et peuvent être utilisées comme commentaires, mais les commentaires en fin de ligne suivant une valeur sur la même ligne ne sont pas pris en charge. Les guillemets ne sont pas pris en charge, et les espaces sont supprimés des clés et des valeurs. Les sections seront fusionnées si elles apparaissent plus d’une fois.
Il existe plusieurs façons de charger les fichiers de configuration de pgBackRest :
configetconfig-include-pathsont par défaut : le fichier de configuration par défaut sera chargé, s’il existe, et les fichiers*.confdans le chemin d’inclusion de configuration par défaut seront ajoutés, s’ils existent.configest spécifié : seul le fichier de configuration indiqué sera chargé et doit exister.config-include-pathest spécifié : les fichiers*.confdans le chemin d’inclusion de configuration seront chargés et le chemin doit exister. Le fichier de configuration par défaut sera chargé s’il existe. Si l’on souhaite charger uniquement les fichiers dans le chemin d’inclusion de configuration spécifié, l’option--no-configpeut également être passée.configetconfig-include-pathsont spécifiés : en utilisant les valeurs spécifiées par l’utilisateur, le fichier de configuration sera chargé et les fichiers*.confdans le chemin d’inclusion de configuration seront ajoutés. Les fichiers doivent exister.config-pathest spécifié : ce paramètre remplacera le chemin de base pour l’emplacement par défaut du fichier de configuration et/ou le chemin de base du paramètre de chemin d’inclusion de configuration par défaut, sauf si l’option config et/ou config-include-path est explicitement définie.
Les fichiers sont concaténés comme s’ils formaient un seul grand fichier, et chaque fichier doit être valide individuellement. Cela signifie que les sections doivent être spécifiées dans chaque fichier là où elles sont nécessaires pour stocker une paire clé/valeur. L’ordre n’a pas d’importance, mais une priorité s’applique selon les sections. La priorité (de la plus élevée à la plus faible) est :
- [stanza:command]
- [stanza]
- [global:command]
- [global]
NOTE :
--config, --config-include-path et --config-path sont des options uniquement disponibles en ligne de commande.
pgBackRest peut également être configuré à l’aide de variables d’environnement (exemple ci-dessous) ; ces variables s’appliquent aux commandes telles que backup , restore et archive-push .
pg-primary ⇒ Configure log-path en utilisant l’environnement
Créer le dépôt
Le dépôt est l’emplacement où pgBackRest stocke les sauvegardes et les archives des segments WAL.
Il peut être difficile de prévoir à l’avance l’espace nécessaire. La meilleure approche consiste à effectuer quelques sauvegardes, puis à noter la taille des différents types de sauvegardes (pleines, incrémentielles, différentielles) et à mesurer la quantité de WAL générée par jour. Cela vous donnera une idée générale de l’espace requis, bien que les besoins évoluent probablement au fil du temps avec l’évolution de votre base de données.
Pour cette démonstration, le dépôt sera stocké sur le même hôte que le serveur PostgreSQL. Il s’agit de la configuration la plus simple et elle est utile dans les cas où un logiciel de sauvegarde traditionnel est utilisé pour sauvegarder l’hôte de la base de données.
pg-primary ⇒ Créer le dépôt pgBackRest
Le chemin du dépôt doit être configuré afin que pgBackRest sache où le trouver.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configurez le chemin du dépôt pgBackRest
Plusieurs dépôts peuvent également être configurés. Consultez Dépôts multiples pour plus de détails.
Configurer la sauvegarde archivée
La sauvegarde d’un cluster PostgreSQL en cours d’exécution nécessite que l’archivage du WAL soit activé. %p est le mécanisme utilisé par PostgreSQL pour spécifier l’emplacement du segment WAL à archiver. Notez qu’au moins un segment WAL sera créé pendant le processus de sauvegarde, même si aucune écriture explicite n’est effectuée sur le cluster.
pg-primary:/var/lib/pgsql/14/data/postgresql.conf ⇒ Configurez les paramètres d’archive
Le cluster PostgreSQL doit être redémarré après avoir apporté ces modifications et avant d’effectuer une sauvegarde.
pg-primary ⇒ Redémarrer le cluster de démonstration
Le paramètre hot_standby est activé par défaut et doit rester ainsi sur chaque cluster. Un cluster peut être restauré ultérieurement en réplica, par exemple un principal reconstruit en réplica après une bascule, et un réplica n’acceptera pas de connexions en lecture seule sans ce paramètre.
Lorsqu’il est prévu qu’un segment WAL mette plus de 60 secondes (valeur par défaut) à atteindre le dépôt pgBackRest, l’option archive-timeout de pgBackRest doit être augmentée. Notez que cette option n’est pas identique à l’option archive_timeout de PostgreSQL, qui est utilisée pour forcer un basculement de segment WAL ; elle est utile pour les bases de données présentant des périodes prolongées d’inactivité. Pour plus d’informations sur l’option archive_timeout de PostgreSQL, consultez PostgreSQL Write Ahead Log
.
La commande archive-push peut être configurée avec ses propres options. Par exemple, un niveau de compression plus faible peut être défini afin d’accélérer l’archivage sans affecter le niveau de compression utilisé pour les sauvegardes.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configurer archive-push pour utiliser un niveau de compression plus faible
Cette configuration technique peut être utilisée pour toute commande et peut même cibler une stanza spécifique, par exemple demo:archive-push.
Configurer la rétention
pgBackRest expire les sauvegardes en fonction des options de rétention.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configurez la rétention à 2 sauvegardes complètes
Plus d’informations sur la rétention sont disponibles dans la section Retention .
Configurer le chiffrement du dépôt
Le dépôt sera configuré avec un type de chiffrement et une clé afin de démontrer le chiffrement. Le chiffrement est toujours effectué côté client, même si le type de dépôt (par exemple S3 ou autre magasin d’objets) prend en charge le chiffrement.
Il est important d’utiliser une phrase secrète longue et aléatoire pour la clé de chiffrement. Une bonne manière de la générer consiste à exécuter : openssl rand -base64 48.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configurez le chiffrement du dépôt pgBackRest
NOTE :
Les paramètres de chiffrement sont placés dans la section [global], ci-dessus, afin que la commande info puisse lire toutes les stanzas. Sans l’option stanza, la commande info ne lit les paramètres de chiffrement que dans la section [global], de sorte que les paramètres de chiffrement configurés par stanza nécessitent l’option stanza pour lire une stanza chiffrée.
Une fois que le dépôt a été configuré et que le stanza a été créé et vérifié, les paramètres de chiffrement du dépôt ne peuvent pas être modifiés.
Créer la stanza
La commande stanza-create doit être exécutée pour initialiser la stanza. Il est recommandé d’exécuter la commande check après stanza-create afin de vérifier que l’archivage et les sauvegardes sont correctement configurés.
pg-primary ⇒ Créer la stanza et vérifier la configuration
Vérifier la configuration
La commande check vérifie que pgBackRest et le paramètre archive_command sont correctement configurés pour l’archivage et les sauvegardes du stanza spécifié. Elle tente de vérifier tous les dépôts et bases de données configurés pour l’hôte sur lequel la commande est exécutée. Elle détecte les mauvaises configurations, en particulier celles relatives à l’archivage, qui entraînent des sauvegardes incomplètes car des segments WAL requis n’ont pas atteint l’archive. La commande peut être exécutée sur l’hôte PostgreSQL ou sur l’hôte dépôt. Elle peut également être exécutée sur l’hôte de basculement, toutefois, comme les opérations pg_switch_xlog()/pg_switch_wal() ne peuvent pas être effectuées sur le basculement, la commande ne testera que la configuration du dépôt.
Notez que pg_create_restore_point('pgBackRest Archive Check') et pg_switch_xlog()/pg_switch_wal() sont appelés pour forcer PostgreSQL à archiver un segment WAL.
pg-primary ⇒ Vérifier la configuration
Optimisation des performances
pgBackRest dispose de plusieurs options de performance qui ne sont pas activées par défaut afin de préserver la compatibilité descendante du dépôt. Toutefois, lors de la création d’un nouveau dépôt, les options suivantes sont recommandées. Elles peuvent également être utilisées sur un dépôt existant, à condition de noter que les versions plus anciennes de pgBackRest ne seront pas en mesure de lire le dépôt. Cette incompatibilité dépend de la date d’introduction de la fonctionnalité, comme indiqué dans la liste ci-dessous.
compress-type- détermine l’algorithme de compression utilisé par les commandesbackupetarchive-push. La valeur par défaut estgz(Gzip), maiszst(Zstandard) est recommandé car il est bien plus rapide et offre une compression similaire àgz.zstest pris en charge par l’optioncompress-typedepuis v2.27 . Voir Type de compression pour plus de détails.repo-bundle- combine les petits fichiers lors de la sauvegarde afin de économiser de l’espace et d’améliorer la vitesse des commandesbackupetrestore, notamment sur des magasins d’objets tels que S3. L’optionrepo-bundlea été introduite dans v2.39 . Voir Regroupement de fichiers pour plus de détails.repo-block- stocke uniquement les parties des fichiers qui ont changé plutôt que le fichier entier lors desdiff/incrbackup. Cela permet d’économiser de l’espace et d’accroître la vitesse de labackup. L’optionrepo-blocka été introduite dans v2.46 , mais une version d’au moins v2.52.1 est recommandée. Voir Incrémentation par bloc pour plus de détails.
D’autres options de performance ne sont pas activées par défaut car elles nécessitent une configuration supplémentaire ou car la valeur par défaut est sûre (mais non optimale). Ces options sont disponibles dans toutes les versions v2 de pgBackRest.
process-max- détermine le nombre de processus utilisés pour les commandes. La valeur par défaut est 1, qui est presque jamais appropriée. Chaque commande utiliseprocess-maxde manière différente ; reportez-vous à la documentation de chaque commande pour plus de détails sur son utilisation.archive-async- archive les fichiers WAL dans le dépôt par lots, ce qui accroît considérablement la vitesse d’archivage. Il n’est pas activé par défaut car il nécessite la création d’un chemin d’épissage. Consultez Archivage asynchrone pour plus de détails.backup-standby- effectue la sauvegarde sur une instance secondaire plutôt que sur l’instance principale afin de réduire la charge sur cette dernière. Il n’est pas activé par défaut car il nécessite une configuration supplémentaire et la présence d’une ou plusieurs instances secondaires. Consultez Sauvegarde depuis une instance secondaire pour plus de détails.
Effectuer une sauvegarde
Par défaut, pgBackRest attend la prochaine vérification planifiée avant de démarrer une sauvegarde. Selon les paramètres checkpoint_timeout et checkpoint_segments dans PostgreSQL, il peut s’écouler assez de temps avant qu’une vérification ne soit terminée et que la sauvegarde puisse commencer. En général, il est préférable de définir start-fast=y afin que la sauvegarde démarre immédiatement. Cela force une vérification, mais comme les sauvegardes sont généralement exécutées une fois par jour, une vérification supplémentaire n’a pas d’impact notable sur les performances. Toutefois, sur des clusters très chargés, il peut être préférable de passer --start-fast en ligne de commande au besoin.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configure la reprise rapide de la sauvegarde
Pour effectuer une sauvegarde du cluster PostgreSQL, exécutez pgBackRest avec la commande backup.
pg-primary ⇒ Effectuer une sauvegarde du cluster de démonstration
Par défaut, pgBackRest tente d’exécuter une sauvegarde incrémentielle. Toutefois, une sauvegarde incrémentielle doit être basée sur une sauvegarde complète, et comme aucune sauvegarde complète n’existait, pgBackRest a exécuté une sauvegarde complète à la place.
L’option type peut être utilisée pour spécifier une sauvegarde complète ou une sauvegarde différentielle.
pg-primary ⇒ Sauvegarde différentielle du cluster demo
Cette fois-ci, aucun avertissement n’a été affiché car une sauvegarde complète existait déjà. Bien qu’une sauvegarde incrémentielle puisse être basée sur une sauvegarde complète ou une sauvegarde différentielle, une sauvegarde différentielle doit obligatoirement être basée sur une sauvegarde complète. Une sauvegarde complète peut être effectuée en exécutant la commande backup avec --type=full.
Pendant une sauvegarde en ligne, pgBackRest attend que les segments WAL nécessaires à la cohérence de la sauvegarde soient archivés. Cette durée d’attente est régulée par l’option pgBackRest archive-timeout qui vaut 60 secondes par défaut. Si l’archivage d’un segment individuel est connu pour prendre plus de temps, cette option doit être augmentée.
Planifier une sauvegarde
Les sauvegardes peuvent être planifiées à l’aide d’utilitaires tels que cron.
Dans l’exemple suivant, deux tâches cron sont configurées pour s’exécuter ; les sauvegardes complètes sont planifiées à 6 h 30 tous les dimanches, tandis que les sauvegardes différentielles sont planifiées à 6 h 30 du lundi au samedi. Si ce fichier crontab est installé pour la première fois en milieu de semaine, pgBackRest exécutera une sauvegarde complète lors de la première exécution de la tâche différentielle, suivie d’une sauvegarde différentielle le lendemain.
Une fois les sauvegardes planifiées, il est important de configurer la rétention afin que les sauvegardes soient expirées selon un calendrier régulier, voir Retention .
Informations de sauvegarde
Utilisez la commande info pour obtenir des informations sur les sauvegardes.
pg-primary ⇒ Obtenir les informations sur le cluster de démonstration
La commande info s’applique à une seule stanza ou à toutes les stanzas. La sortie texte est la valeur par défaut et fournit un résumé lisible par l’humain des sauvegardes pour la ou les stanzas demandées. Ce format peut évoluer à tout moment dans une version.
Pour une sortie lisible par machine, utilisez --output=json. La sortie JSON contient bien plus d’informations que la sortie texte et est maintenue stable, sauf en cas de bug.
Pour accélérer l’exécution, restreindre la sortie à l’information de progression uniquement en spécifiant --detail-level=progress. Notez que cela ignore toutes les vérifications sauf la disponibilité de la stanza.
Chaque stanza dispose d’une section distincte et il est possible de limiter la sortie à une seule stanza à l’aide de l’option --stanza. La stanza ‘status’ indique brièvement l’état de santé de la stanza. Si cette valeur est ‘ok’, pgBackRest fonctionne normalement. Si plusieurs dépôts sont configurés, une valeur de ‘mixed’ indique que la stanza n’est pas dans un état sain sur un ou plusieurs dépôts ; dans ce cas, l’état de la stanza sera détaillé par dépôt. Dans les cas où une erreur s’est produite sur un dépôt sans correspondre à un code d’erreur connu, un code d’erreur de ‘other’ sera utilisé et les détails complets de l’erreur seront fournis. La ‘wal archive min/max’ affiche le WAL minimum et maximum actuellement stockés dans l’archive et, dans le cas de plusieurs dépôts, sera rapportée sur l’ensemble des dépôts sauf si l’option --repo est définie. Notez qu’il peut y avoir des lacunes dues aux politiques de rétention des archives ou à d’autres raisons.
Les messages ‘backup/expire running’ et/ou ‘restore running’ s’affichent aux côtés des informations ‘status’ si l’une quelconque de ces commandes est actuellement en cours d’exécution sur l’hôte. La progression par répertoire sera également indiquée dans la sortie texte, et un tableau ‘repo’ sera inclus dans la sortie JSON.
Les sauvegardes sont affichées du plus ancien au plus récent. La sauvegarde la plus ancienne sera toujours une sauvegarde complète (indiquée par un F à la fin de l’étiquette), mais la sauvegarde la plus récente peut être complète, différentielle (se terminant par D) ou incrémentielle (se terminant par I).
Le ‘timestamp start/stop’ définit la période pendant laquelle la sauvegarde a été exécutée. Le ‘timestamp stop’ peut être utilisé pour déterminer la sauvegarde à utiliser lors d’une restauration à un instant donné. Plus d’informations sur la restauration à un instant donné sont disponibles dans la section Restauration à un instant donné
.
Le ‘wal start/stop’ définit la plage de WAL nécessaire pour rendre la base de données cohérente lors d’une restauration. La commande backup s’assurera que cette plage de WAL se trouve dans l’archive avant de se terminer.
La ‘database size’ correspond à la taille totale non compressée de la base de données, tandis que la ‘database backup size’ représente la quantité de données à sauvegarder réellement ; elles sont identiques pour les sauvegardes complètes.
Le ‘repo’ indique dans quel dépôt se trouve cette sauvegarde. Le ‘backup set size’ inclut tous les fichiers de cette sauvegarde ainsi que toutes les sauvegardes référencées dans le dépôt nécessaires à la restauration de la base de données à partir de cette sauvegarde, tandis que le ‘backup size’ inclut uniquement les fichiers de cette sauvegarde (ceux-ci seront également identiques pour les sauvegardes complètes). Les tailles des dépôts reflètent les tailles des fichiers compressés si la compression est activée dans pgBackRest.
Le ‘backup reference total’ résume la liste des sauvegardes supplémentaires nécessaires pour effectuer la restauration de cette sauvegarde. Utilisez l’option --set pour afficher la liste complète de référence.
Restaurer une sauvegarde
Les sauvegardes peuvent vous protéger contre plusieurs scénarios de catastrophe, dont les plus fréquents sont les pannes matérielles et la corruption des données. La méthode la plus simple pour simuler une corruption de données consiste à supprimer un fichier important du cluster PostgreSQL.
pg-primary ⇒ Arrêtez le cluster de démonstration et supprimez le fichier pg_control
Le démarrage du cluster sans ce fichier important entraînera une erreur.
pg-primary ⇒ Tentative de démarrage du cluster démo corrompu
Pour restaurer une sauvegarde du cluster PostgreSQL, exécutez pgBackRest avec la commande restore. Le cluster doit être arrêté (dans ce cas, il est déjà arrêté) et tous les fichiers doivent être supprimés du répertoire de données PostgreSQL.
pg-primary ⇒ Supprimer les anciens fichiers du cluster de démonstration
pg-primary ⇒ Effectuer la restauration du cluster de démonstration et démarrer PostgreSQL
Cette fois, le cluster a démarré correctement car la restauration a remplacé le fichier pg_control manquant.
Plus d’informations sur la commande restore sont disponibles dans la section Restauration
.
Surveillance
La surveillance est une composante essentielle de tout système de production. De nombreuses outils sont disponibles, et pgBackRest peut être surveillé sur l’un d’entre eux avec un peu d’effort.
pgBackRest peut produire des informations sur le dépôt au format JSON, qui inclut la liste de toutes les sauvegardes pour chaque stanza ainsi que les informations sur l’archive WAL.
En PostgreSQL
La commande PostgreSQL COPY permet de charger les informations de pgBackRest dans une table. L’exemple suivant encapsule cette logique dans une fonction pouvant être utilisée pour effectuer des requêtes en temps réel.
pg-primary ⇒ Charger la fonction d’information pgBackRest pour PostgreSQL
À présent, la fonction monitor.pgbackrest_info() peut être utilisée pour déterminer l’heure de la dernière sauvegarde réussie et le WAL archivé pour une stanza.
pg-primary ⇒ Interroger l’heure de la dernière sauvegarde réussie et des journaux WAL archivés
sauvegarde
Lorsque plusieurs dépôts sont configurés, pgBackRest effectuera la sauvegarde vers le dépôt de priorité la plus élevée (par exemple repo1) sauf si l’option --repo est spécifiée.
pgBackRest ne dispose pas de planificateur intégré, il est donc préférable de l’exécuter depuis cron ou un autre mécanisme de planification.
Consultez Effectuer une sauvegarde pour plus de détails et d’exemples.
Regroupement de fichiers
Regrouper les fichiers dans le dépôt permet de gagner du temps lors de la sauvegarde et de libérer de l’espace dans le dépôt. Cet avantage est particulièrement marqué lorsque le dépôt est stocké sur un magasin d’objets comme S3 ou sur des systèmes de fichiers à grandes tailles de bloc. Le temps de création par fichier est plus élevé sur les magasins d’objets, et des fichiers très petits peuvent coûter autant à stocker qu’un fichier plus volumineux.
La fonctionnalité de regroupement de fichiers est activée avec l’option repo-bundle.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configure repo1-bundle
Une sauvegarde complète sans regroupement de fichiers comportera plus de 1000 fichiers dans le chemin de sauvegarde, mais avec le regroupement, le nombre total de fichiers est fortement réduit. Un avantage supplémentaire est que les fichiers de taille nulle ne sont pas stockés (sauf dans le manifeste), contrairement à une sauvegarde normale où chaque fichier de taille nulle est stocké individuellement.
pg-primary ⇒ Effectuer une sauvegarde complète
pg-primary ⇒ Vérifier le total des fichiers
Les options repo-bundle-size et repo-bundle-limit peuvent être utilisées pour le réglage, bien que les valeurs par défaut soient optimales dans la plupart des cas.
Bien que le regroupement de fichiers soit généralement plus efficace, le désavantage réside dans la difficulté d’accès manuel aux fichiers depuis le dépôt. Il peut ne pas être adapté aux stockages à déduplication, car chaque sauvegarde complète organise les fichiers dans les paquets de manière différente. Enfin, les paquets de fichiers ne peuvent pas être repris, veillez donc à ne pas définir repo-bundle-limit trop élevé.
Incrémentation par bloc
Les sauvegardes incrémentielles par bloc économisent de l’espace en ne stockant que les parties d’un fichier modifiées depuis la sauvegarde précédente, plutôt que le fichier entier.
La fonctionnalité de sauvegarde incrémentielle par bloc est activée avec l’option repo-block et fonctionne de manière optimale lorsqu’elle est activée pour toutes les types de sauvegarde. Le regroupement des fichiers doit également être activé.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configure repo1-block
Annotations de sauvegarde
Les utilisateurs peuvent attacher des paires clé/valeur explicatives à la sauvegarde. Cette option peut être utilisée plusieurs fois pour attacher plusieurs annotations.
pg-primary ⇒ Effectuer une sauvegarde complète avec annotations
Les annotations sont produites par la sortie texte de la commande info lorsque une sauvegarde est spécifiée avec --set, et apparaissent toujours dans la sortie JSON.
pg-primary ⇒ Obtenir les informations sur le cluster de démonstration
Les annotations incluses avec la commande backup peuvent être ajoutées, modifiées ou supprimées ultérieurement à l’aide de la commande annotate.
pg-primary ⇒ Modifier les annotations de sauvegarde
rétention
En général, il est préférable de conserver autant de sauvegardes que possible afin de disposer d’une fenêtre plus étendue pour la restauration à un instant donné Restauration à un instant donné , mais des contraintes pratiques telles que l’espace disque doivent également être prises en compte. Les options de rétention suppriment automatiquement les sauvegardes anciennes une fois qu’elles ne sont plus nécessaires.
pgBackRest effectue la rotation des sauvegardes complètes selon le type de rétention, qui peut être défini par un nombre ou une période de temps. Lorsqu’un nombre est spécifié, l’expiration n’est pas liée à la date de création des sauvegardes, mais au nombre de sauvegardes à conserver. Les sauvegardes différentielles sont basées sur un nombre, mais sont toujours expirées lorsque la sauvegarde complète dont elles dépendent l’est. Les sauvegardes incrémentielles ne sont pas expirées indépendamment par rétention — elles sont toujours expirées en même temps que leur sauvegarde complète ou différentielle associée. Pour plus de détails et des exemples, reportez-vous aux sections Rétention des sauvegardes complètes et Rétention des sauvegardes différentielles .
L’archive WAL est conservée par défaut pour les sauvegardes n’ayant pas expiré, mais, bien que non recommandé, ce délai peut être modifié par dépôt à l’aide de l’option retention-archive. Voir la section Archive Retention pour les détails et exemples.
La commande expire s’exécute automatiquement après chaque sauvegarde réussie et peut également être exécutée par l’utilisateur. Lorsqu’elle est exécutée par l’utilisateur, l’expiration s’effectue selon les paramètres de rétention définis pour chaque dépôt configuré. Si l’option --repo est fournie, l’expiration s’applique uniquement au dépôt spécifié. L’expiration peut également être limitée par l’utilisateur à un jeu de sauvegarde spécifique à l’aide de l’option --set, et, sauf si l’option --repo est spécifiée, tous les dépôts seront recherchés et tous ceux correspondant aux critères seront supprimés. Il convient de noter que la planification de rétention des archives sera vérifiée et appliquée chaque fois que la commande expire est exécutée.
Rétention des sauvegardes complètes
L’option repo1-retention-full-type détermine la manière dont l’option repo1-retention-full est interprétée : soit comme le nombre de sauvegardes complètes à conserver, soit comme le nombre de jours pendant lesquels conserver les sauvegardes complètes. Une nouvelle sauvegarde doit être terminée avant qu’une expiration ne puisse se produire — cela signifie que si repo1-retention-full-type=count et repo1-retention-full=2, alors trois sauvegardes complètes seront conservées avant que la plus ancienne ne soit supprimée, ou que si repo1-retention-full-type=time et repo1-retention-full=20, alors une sauvegarde complète d’au moins 20 jours d’âge doit exister avant qu’une expiration ne puisse avoir lieu.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configure repo1-retention-full
Sauvegarde repo1-retention-full=2 mais actuellement, il n’existe qu’une seule sauvegarde complète, donc la prochaine sauvegarde complète à exécuter n’expirera aucune sauvegarde complète.
pg-primary ⇒ Effectuer une sauvegarde complète
L’archive est expirée car des segments WAL ont été générés avant la sauvegarde la plus ancienne. Ces segments ne sont pas utiles pour la récupération — seuls les segments WAL générés après une sauvegarde peuvent être utilisés pour récupérer cette sauvegarde.
pg-primary ⇒ Effectuer une sauvegarde complète
La sauvegarde complète 20260817-044340F a expiré et la rétention des archives est basée sur 20260817-044401F, qui est désormais la sauvegarde complète la plus ancienne.
Rétention des sauvegardes différentielles
Définissez repo1-retention-diff sur le nombre de sauvegardes différentielles requises. Les sauvegardes différentielles ne dépendent que de la dernière sauvegarde complète, il est donc possible de créer un ensemble « en rouleau » de sauvegardes différentielles pour la dernière journée ou plus. Cela permet des restaurations rapides à des points récents dans le temps tout en réduisant la consommation globale d’espace.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configure repo1-retention-diff
Avec repo1-retention-diff=1, deux sauvegardes différentielles doivent être effectuées avant que l’une d’elles n’expire. Une sauvegarde incrémentielle est ajoutée pour illustrer l’expiration incrémentielle, qui dépend ici de l’expiration de la sauvegarde différentielle.
pg-primary ⇒ Effectuer des sauvegardes différentielles et incrémentielles
Effectuer maintenant une sauvegarde différentielle expire les sauvegardes différentielles et incrémentielles précédentes, ne laissant ainsi qu’une seule sauvegarde différentielle.
pg-primary ⇒ Effectuer une sauvegarde différentielle
Rétention des archives
Bien que pgBackRest supprime automatiquement les segments WAL archivés lors de l’expiration des sauvegardes (le comportement par défaut expire les WAL des sauvegardes complètes en fonction de l’option repo1-retention-full), il peut être utile d’expirer l’archive de manière plus agressive afin de libérer de l’espace disque. Notez que les sauvegardes complètes sont traitées comme des sauvegardes différentielles pour l’application de la rétention des archives différentielles.
L’expiration de l’archive ne supprimera jamais les segments WAL nécessaires à la cohérence d’une sauvegarde. Toutefois, comme la récupération à un point donné (PITR) ne fonctionne qu’avec un flux WAL continu, une attention particulière doit être portée lors de l’expiration agressive de l’archive en dehors du processus normal d’expiration des sauvegardes. Pour déterminer quels éléments seront supprimés sans effectuer réellement l’expiration, l’option dry-run peut être fournie en ligne de commande avec la commande expire.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configure repo1-retention-diff
pg-primary ⇒ Effectuer une sauvegarde différentielle
pg-primary ⇒ Expire archive
La sauvegarde différentielle 20260817-044403F_20260817-044407D contient des segments WAL qui doivent être conservés pour assurer la cohérence des sauvegardes plus anciennes, même si elles ne peuvent plus être restaurées ultérieurement avec une récupération à un point précis (PITR). Les segments WAL générés après 20260817-044403F_20260817-044407D mais avant 20260817-044403F_20260817-044409D sont supprimés. Les segments WAL générés après la nouvelle sauvegarde 20260817-044403F_20260817-044409D sont conservés et peuvent être utilisés pour une récupération à un point précis (PITR).
Étant donné que les sauvegardes complètes sont considérées comme des sauvegardes différentielles afin de déterminer la rétention des archives différentielles, si une sauvegarde complète est désormais effectuée avec les mêmes paramètres, seule l’archive correspondante à cette sauvegarde complète est conservée pour la récupération à un instant donné.
restauration
La commande de restauration sélectionne automatiquement la dernière sauvegarde du premier dépôt où des sauvegardes existent (voir Démarrage rapide - Restaurer une sauvegarde
). L’ordre dans lequel les dépôts sont vérifiés est déterminé par le paramètre pgbackrest.conf (par exemple, repo1 sera vérifié avant repo2). Pour sélectionner un dépôt spécifique, l’option --repo peut être utilisée (par exemple, --repo=1). L’option --set peut être utilisée si une sauvegarde autre que la plus récente est souhaitée.
Lorsqu’une restauration à un instant donné de --type=time ou --type=lsn est spécifiée, le temps cible ou le numéro LSN cible doit être précisé à l’aide de l’option --target. Si aucune sauvegarde n’est spécifiée via l’option --set, les dépôts configurés seront examinés, dans l’ordre, à la recherche d’une sauvegarde contenant le temps ou le numéro LSN demandés. Si aucune sauvegarde correspondante n’est trouvée, la dernière sauvegarde du premier dépôt contenant des sauvegardes sera utilisée pour --type=time, tandis qu’aucune sauvegarde ne sera sélectionnée pour --type=lsn. Pour les autres types de restauration à un instant donné, par exemple xid, l’option --set doit être fournie si le temps cible est antérieur à la dernière sauvegarde. Voir Restauration à un instant donné
pour plus de détails et d’exemples.
Les slots de réplication ne sont pas inclus, conformément à la recommandation de PostgreSQL. Consultez Sauvegarde du répertoire de données dans la documentation PostgreSQL pour plus d’informations.
Les sections suivantes présentent des fonctionnalités supplémentaires de la commande restore.
Propriétaire du fichier
Si un restore est exécuté en tant qu’utilisateur non privilégié (scénario typique), tous les fichiers restaurés appartiendront à l’utilisateur/groupe exécutant pgBackRest. Si des fichiers existants ne sont pas possédés par l’utilisateur/groupe exécutant, une erreur se produira si la propriété ne peut pas être mise à jour pour correspondre à l’utilisateur/groupe exécutant. Dans ce cas, la propriété des fichiers devra être mise à jour par un utilisateur ayant des privilèges avant de pouvoir réessayer la restauration.
Si un restore est exécuté en tant qu’utilisateur root, pgBackRest tentera de recréer la propriété enregistrée dans le manifeste au moment de la sauvegarde. Seuls les noms d’utilisateur/groupe sont stockés dans le manifeste, donc les mêmes noms doivent exister sur l’hôte de restauration pour que cela fonctionne. Si le nom d’utilisateur/groupe ne peut pas être trouvé localement, l’utilisateur/groupe du répertoire de données PostgreSQL sera utilisé, puis root si l’utilisateur/groupe du répertoire de données ne peut pas être mappé à un nom.
Option Delta
Restaurer une sauvegarde
dans Mise en route rapide
nécessite que le répertoire du cluster de base de données soit nettoyé avant la restore de restauration. L’option delta permet à pgBackRest de déterminer automatiquement quels fichiers du répertoire du cluster de base de données peuvent être conservés et quels fichiers doivent être restaurés à partir de la sauvegarde — elle supprime également les fichiers absents du manifeste de sauvegarde, ce qui permet d’éliminer les modifications divergentes. Cette opération est réalisée en calculant un hachage cryptographique SHA-1
pour chaque fichier du répertoire du cluster de base de données. Si le hachage SHA-1 ne correspond pas au hachage stocké dans la sauvegarde, ce fichier sera restauré. Cette opération est particulièrement efficace lorsqu’elle est combinée avec l’option process-max. Comme le serveur PostgreSQL est arrêté pendant la restauration, un plus grand nombre de processus peut être utilisé que lors d’une sauvegarde, où le serveur PostgreSQL est en cours d’exécution.
pg-primary ⇒ Arrêtez le cluster de démonstration, effectuez une restauration incrémentielle
pg-primary ⇒ Redémarrer PostgreSQL
Restauration des bases de données sélectionnées
Il peut arriver que l’on souhaite restaurer sélectivement des bases de données spécifiques à partir d’une sauvegarde de cluster. Cela peut être utile pour des raisons de performance ou pour déplacer des bases sélectionnées vers une machine qui ne dispose pas d’espace suffisant pour restaurer l’intégralité de la sauvegarde du cluster.
Pour démontrer cette fonctionnalité, deux bases de données sont créées : test1 et test2.
pg-primary ⇒ Créer deux bases de données de test
Chaque base de données de test sera initialisée avec des tables et des données afin de démontrer que la restauration sélective fonctionne.
pg-primary ⇒ Créer une table de test dans chaque base de données
Une nouvelle sauvegarde est exécutée afin que pgBackRest prenne connaissance des nouveaux bases de données.
pg-primary ⇒ Effectuer une sauvegarde
L’une des principales raisons d’utiliser une restauration sélective est de conserver de l’espace. La taille de la base de données test1 est indiquée ici afin de pouvoir la comparer à l’utilisation du disque après une restauration sélective.
pg-primary ⇒ Afficher l’espace utilisé par la base test1
Si la base de données à restaurer n’est pas connue, utilisez l’option info de la commande set pour découvrir les bases de données faisant partie de l’ensemble de sauvegarde.
pg-primary ⇒ Afficher la liste des bases de données pour la sauvegarde
Arrêtez le cluster et effectuez une restauration uniquement de la base test2. Les bases de données intégrées (template0, template1 et postgres) sont toujours restaurées.
AVERTISSEMENT :
La récupération peut échouer sauf si --type=immediate est spécifié. Cela est dû au fait qu’une fois la cohérence atteinte, PostgreSQL signale les pages nulles comme des erreurs, même pour une écriture complète de page. Pour PostgreSQL ≥ 13, le paramètre ignore_invalid_pages peut être utilisé pour ignorer les pages non valides. Dans ce cas, il est important de vérifier les journaux après la récupération afin de s’assurer qu’aucune page non valide n’a été signalée dans les bases de données sélectionnées.
pg-primary ⇒ Restauration à partir de la dernière sauvegarde, incluant uniquement la base test2
Une fois la récupération terminée, la base de données test2 contiendra toutes les tables et les données précédemment créées.
pg-primary ⇒ Démontrer que la base de données test2 a été restaurée
La base de données test1, malgré une récupération réussie, n’est pas accessible. Cela est dû au fait que la base entière a été restaurée sous forme de fichiers creux initialisés à zéro. PostgreSQL peut appliquer correctement le WAL sur ces fichiers initialisés à zéro, mais la base de données dans son ensemble ne sera pas valide, car certains fichiers clés ne contiennent aucune donnée. Cette situation est volontaire, afin d’éviter que la base de données ne soit utilisée accidentellement alors qu’elle pourrait contenir des données partielles appliquées pendant la relecture du WAL.
pg-primary ⇒ Tenter de se connecter à la base de données test1 produira une erreur
Étant donné que la base de données test1 est restaurée avec des fichiers épars et initialisés à zéro, elle n’utilisera que l’espace nécessaire à la quantité de WAL écrite pendant la récupération. Bien que la quantité de WAL générée lors d’une sauvegarde et appliquée lors de la récupération puisse être importante, elle représente généralement une fraction réduite de la taille totale de la base de données, en particulier pour les grandes bases de données où cette fonctionnalité est le plus susceptible d’être utile.
Il est clair que la base de données test1 utilise bien moins d’espace disque lors d’une restauration sélective que si toute la base de données avait été restaurée.
pg-primary ⇒ Afficher l’espace utilisé par la base de données test1 après la récupération
À ce stade, la seule action pouvant être entreprise sur la base test1 invalide est drop database. pgBackRest ne supprime pas automatiquement la base de données, car cela n’est pas possible tant que la récupération n’est pas terminée et que le cluster n’est pas accessible.
pg-primary ⇒ Supprimer la base de données test1
À présent que la base de données test1 invalide a été supprimée, seules les bases de données test2 et les bases intégrées restent.
pg-primary ⇒ Liste des bases de données restantes
restauration à un instant donné
Restaurer une sauvegarde dans Démarrage rapide a effectué une récupération par défaut, qui consiste à rejouer toutes les transactions jusqu’à la fin du flux WAL. En cas de panne matérielle, il s’agit généralement du choix optimal, mais en cas de corruption des données (qu’elle soit due à une panne matérielle ou humaine), la restauration à un instant donné (PITR) est souvent plus appropriée.
La restauration à un instant donné (PITR) permet de rejouer les journaux d’écriture (WAL) à partir d’une sauvegarde jusqu’à un LSN, une heure, un identifiant de transaction ou un point de récupération spécifié. Pour les scénarios de récupération courants, la récupération basée sur le temps est sans doute la plus utile. Un scénario de récupération typique consiste à restaurer une table supprimée par erreur ou des données supprimées par erreur. La récupération d’une table supprimée est plus spectaculaire, aussi est-elle prise comme exemple ici, mais les données supprimées seraient récupérées exactement de la même manière.
pg-primary ⇒ Créer une table avec des données très importantes
Il est important de représenter l’heure selon le calcul de PostgreSQL et d’inclure les décalages de fuseau horaire. Cela réduit la possibilité de conversions de fuseau horaire non souhaitées et d’un résultat de récupération inattendu.
pg-primary ⇒ Obtenir l’heure depuis PostgreSQL
À présent que l’heure a été enregistrée, la table est supprimée. En pratique, déterminer l’heure exacte à laquelle la table a été supprimée est bien plus difficile qu’à l’exemple présenté. Il se peut qu’il ne soit pas possible de déterminer l’heure exacte, mais une analyse forensique devrait toutefois pouvoir s’en approcher.
pg-primary ⇒ Supprimer la table importante
Si la mauvaise sauvegarde est sélectionnée pour la restauration, la récupération jusqu’à la cible de temps requise échouera. Pour illustrer ce cas, une nouvelle sauvegarde incrémentielle est effectuée alors que important_table n’existe pas.
pg-primary ⇒ Effectuer une sauvegarde incrémentielle
Il ne sera pas possible de récupérer la table perdue à partir de cette sauvegarde, car PostgreSQL ne peut avancer que vers l’avant, pas vers l’arrière.
pg-primary ⇒ Tentative de récupération à partir d’une sauvegarde incorrecte
Une méthode fiable consiste à autoriser pgBackRest à sélectionner automatiquement une sauvegarde pouvant être restaurée jusqu’à l’instant cible, c’est-à-dire une sauvegarde terminée avant l’instant spécifié.
NOTE :
pgBackRest ne peut pas sélectionner automatiquement une sauvegarde lorsque le type de restauration est xid ou name.
pg-primary ⇒ Effectuer la restauration du cluster démo vers 2026-08-17 04:44:30.009846+00
pgBackRest a généré les paramètres de récupération dans postgresql.auto.conf afin que PostgreSQL puisse être démarré immédiatement. %f est le moyen par lequel PostgreSQL indique le segment WAL dont il a besoin, et %p est l’emplacement où il doit être copié. Une fois la récupération de PostgreSQL terminée, la table existera à nouveau et pourra être interrogée.
pg-primary ⇒ Démarrer PostgreSQL et vérifier que la table importante existe
Le journal PostgreSQL contient également des informations précieuses. Il indique l’heure et la transaction où la récupération s’est arrêtée, ainsi que l’heure de la dernière transaction appliquée.
pg-primary ⇒ Examinez la sortie des journaux PostgreSQL
Supprimer une stanza
La commande stanza-delete supprime les données du dépôt associées à un stanza.
AVERTISSEMENT :
Utilisez cette commande avec précaution — elle supprimera définitivement toutes les sauvegardes et archives du dépôt pgBackRest pour le stanza spécifié.
Pour supprimer une stanza :
- Arrêtez le cluster PostgreSQL associé à la stanza (ou utilisez –force pour l’ignorer).
- Exécutez la commande
stopsur l’hôte où la commandestanza-deletesera exécutée. - Exécutez la commande
stanza-delete.
Une fois la commande exécutée avec succès, il incombe à l’utilisateur de supprimer la stanza de tous les fichiers de configuration pgBackRest et/ou des variables d’environnement.
Un stanza ne peut être supprimé que d’un dépôt à la fois. Pour supprimer le stanza de plusieurs dépôts, répétez la commande stanza-delete pour chaque dépôt tout en spécifiant l’option --repo.
pg-primary ⇒ Arrêtez le cluster PostgreSQL à supprimer
pg-primary ⇒ Arrêtez pgBackRest pour la stanza
pg-primary ⇒ Supprimer le stanza depuis un dépôt
Dépôts multiples
Plusieurs dépôts peuvent être configurés, comme illustré dans Prise en charge S3 . Un avantage potentiel est la possibilité de disposer d’un dépôt local pour des restaurations rapides et d’un dépôt distant pour la redondance.
Certaines commandes, par exemple stanza-create
/stanza-upgrade
, fonctionnent automatiquement avec tous les dépôts configurés, tandis que d’autres, par exemple stanza-delete
, nécessitent la spécification d’un dépôt à l’aide de l’option repo.
Notez que l’option repo n’est pas obligatoire lorsqu’uniquement repo1 est configuré, afin de préserver la compatibilité descendante. Toutefois, l’option repo est obligatoire lorsqu’un seul dépôt est configuré, par exemple repo2. Ceci vise à éviter la rupture de commande en cas d’ajout ultérieur d’un nouveau dépôt.
La commande archive-push poussera toujours les journaux WAL vers l’archive dans tous les dépôts configurés. Si un dépôt n’est pas accessible, les journaux WAL seront tout de même poussés vers les autres dépôts. Toutefois, pour que cela fonctionne efficacement, archive-async=y doit être activé ; sinon, les autres dépôts ne pourront avancer que d’un segment WAL par rapport au dépôt inatteignable. Notez également qu’en cas d’impossibilité de pousser les journaux WAL vers n’importe quel dépôt, PostgreSQL ne supprimera pas ces journaux du répertoire pg_wal, ce qui peut entraîner la saturation du volume.
Les sauvegardes doivent être planifiées individuellement pour chaque dépôt. Dans de nombreuses situations, cela est souhaitable car les types de sauvegarde et la rétention varient d’un dépôt à l’autre. De même, les restaurations doivent préciser un dépôt. Il est généralement préférable de spécifier un dépôt à faible latence/coût, même si cela implique un temps de récupération plus long. Seule une vérification par test de restauration permettra de déterminer quel dépôt sera le plus efficace.
Prise en charge du magasin d’objets compatible Azure
pgBackRest prend en charge la localisation des dépôts dans des magasins d’objets compatibles Azure. Le conteneur utilisé pour stocker le dépôt doit être créé à l’avance — pgBackRest ne le fera pas automatiquement. Le dépôt peut être situé à la racine du conteneur (/), mais il est généralement préférable de le placer dans un sous-chemin afin de pouvoir stocker également des journaux ou d’autres données dans le conteneur sans conflit.
AVERTISSEMENT :
N’activez pas l’« espace de noms hiérarchique » car cela provoquera des erreurs lors de l’expiration.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configurez Azure
Les signatures d’accès partagé peuvent être utilisées en définissant l’option repo2-azure-key-type sur sas et l’option repo2-azure-key sur le jeton de signature d’accès partagé.
Les commandes sont exécutées exactement comme si le dépôt était stocké sur un disque local.
pg-primary ⇒ Créer la stanza
Le temps de création de fichier dans Azure est relativement lent, aussi la performance de backup/restore est améliorée en activant le regroupement de fichiers file bundling
.
pg-primary ⇒ Effectuer une sauvegarde du cluster de démonstration
Prise en charge du stockage d’objets compatible S3
pgBackRest prend en charge le positionnement des dépôts dans des magasins d’objets compatibles S3. Le bac utilisé pour stocker le dépôt doit être créé à l’avance — pgBackRest ne le fera pas automatiquement. Le dépôt peut être placé à la racine du bac (/), mais il est généralement préférable de le situer dans un sous-répertoire afin de pouvoir stocker également des journaux ou d’autres données dans le bac sans conflit.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configurez S3
NOTE :
La région et le point de terminaison devront être configurés selon l’emplacement du bac. Les valeurs indiquées ici correspondent à la région us-east-1.
Un rôle doit être créé pour exécuter pgBackRest et les autorisations du bac doivent être définies aussi restrictivement que possible. Si le rôle est associé à une instance dans AWS, pgBackRest récupérera automatiquement des identifiants temporaires lorsque repo3-s3-key-type=auto, ce qui signifie que les clés n’ont pas besoin d’être explicitement définies dans /etc/pgbackrest/pgbackrest.conf.
Politique Amazon S3 d’exemple qui restreint toutes les lectures et écritures au bac et au chemin du dépôt.
Les commandes sont exécutées exactement comme si le dépôt était stocké sur un disque local.
pg-primary ⇒ Créer la stanza
Le temps de création de fichier dans S3 est relativement lent, aussi la performance de backup/restore est améliorée en activant le regroupement de fichiers file bundling
.
pg-primary ⇒ Effectuer une sauvegarde du cluster de démonstration
Prise en charge SFTP
pgBackRest prend en charge le localisation des dépôts sur des hôtes SFTP. Le transfert de fichiers SFTP est relativement lent, aussi les commandes bénéficient-elles d’une augmentation de process-max afin de paralléliser le transfert de fichiers.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configurez SFTP
Lors de l’utilisation de SFTP, si libssh2 est compilé contre OpenSSH, repo4-sftp-public-key-file est facultatif.
pg-primary ⇒ Générer une paire de clés SSH pour la sauvegarde SFTP
sftp-server ⇒ Copier la clé publique de sauvegarde SFTP de pg-primary sur sftp-server
Les commandes sont exécutées exactement comme si le dépôt était stocké sur un disque local.
pg-primary ⇒ Ajouter l’empreinte du serveur SFTP au fichier known_hosts, car repo4-sftp-host-key-check-type est par défaut défini sur « strict »
pg-primary ⇒ Créer la stanza
pg-primary ⇒ Effectuer une sauvegarde du cluster de démonstration
Prise en charge du stockage d’objets compatible GCS
pgBackRest prend en charge la localisation des dépôts dans des magasins d’objets compatibles GCS. Le conteneur utilisé pour stocker le dépôt doit être créé à l’avance — pgBackRest ne le fera pas automatiquement. Le dépôt peut être situé à la racine du conteneur (/), mais il est généralement préférable de le placer dans un sous-répertoire afin de pouvoir stocker également des journaux ou d’autres données dans le conteneur sans conflit.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configurez le GCS
Lors de l’exécution sur GCE, définissez repo5-gcs-key-type=auto pour authentifier automatiquement à l’aide du compte de service de l’instance.
Les commandes sont exécutées exactement comme si le dépôt était stocké sur un disque local.
Le temps de création de fichier dans GCS est relativement lent, aussi la performance de backup/restore est améliorée en activant le regroupement de fichiers file bundling
.
Heure cible pour le dépôt
Le temps cible définit l’instant auquel les commandes lisent un dépôt sur un stockage versionné. Cela permet à la commande de lire le dépôt tel qu’il était à un instant donné, afin de récupérer des données supprimées ou corrompues par une erreur utilisateur ou un logiciel malveillant.
Le stockage versionné est pris en charge par S3, GCS et Azure, mais il est généralement désactivé par défaut. En plus d’activer la versioning, il peut être utile d’activer le verrouillage d’objets pour S3, ou la suppression progressive pour GCS ou Azure.
Lorsque l’option repo-target-time est spécifiée, l’option repo doit également être fournie. Il est probable que tous les types de dépôt ne prennent pas en charge la versionning, et il est généralement préférable de cibler un seul dépôt pour la récupération.
Notez que les comparaisons avec l’horodatage de stockage sont <= à l’horodatage fourni et que les millisecondes sont tronquées de l’horodatage lorsqu’elles sont fournies.
Pour démontrer cette fonctionnalité, la stanza demo dans le dépôt S3 est supprimée.
pg-primary ⇒ Supprimer le stanza dans le dépôt S3
Une fois le stanza supprimé, la commande info affichera le dépôt dans un état d’erreur.
pg-primary ⇒ Erreur lors de l’information
Toutefois, comme le stockage est versionné, il est possible d’examiner le dépôt à une époque antérieure à la suppression du stanza. Trouver l’instant cible peut s’avérer délicat selon la situation, mais dans ce cas, l’instant de suppression du stanza peut être déterminé en vérifiant quand backup.info a été supprimé.
pg-primary ⇒ Répertorier les versions de backup.info dans le bac
À présent, la commande info peut être exécutée avec une heure cible afin d’afficher le dépôt avant sa suppression.
pg-primary ⇒ Information avec heure cible
Si la sauvegarde requise est indiquée par la commande info, elle peut être restaurée en utilisant le même instant cible.
pg-primary ⇒ Restauration avec heure cible
Hôte dédié au dépôt
La configuration décrite dans Quickstart convient aux installations simples, mais pour les configurations d’entreprise, il est plus courant d’avoir un hôte dédié au dépôt, où sont stockées les sauvegardes et les fichiers d’archive WAL. Cette approche sépare les sauvegardes et l’archive WAL du serveur de base de données, de sorte que les défaillances de l’hôte de base de données aient un impact moindre. Il est toutefois recommandé d’utiliser un logiciel de sauvegarde traditionnel pour sauvegarder l’hôte du dépôt.
Sur les hôtes PostgreSQL, pg1-path doit être le chemin du cluster PostgreSQL local et aucune configuration pg1-host ne doit être définie. Lors de la configuration d’un hôte de dépôt, le fichier de configuration pgBackRest doit inclure l’option pg-host pour se connecter aux hôtes principaux et secondaires (le cas échéant). L’hôte de dépôt est le seul qui doit disposer d’une configuration pgBackRest connaissant plusieurs hôtes PostgreSQL. L’ordre n’a pas d’importance, par exemple pg1-path/pg1-host, pg2-path/pg2-host peut correspondre à un hôte principal ou secondaire.
Installation
Un nouvel hôte nommé repository est créé pour stocker les sauvegardes du cluster.
NOTE :
La version de pgBackRest installée sur l’hôte du dépôt doit correspondre exactement à la version installée sur l’hôte PostgreSQL.
L’utilisateur pgbackrest est créé pour posséder le dépôt pgBackRest. Tout utilisateur peut posséder le dépôt, mais il est préférable de ne pas utiliser postgres (le cas échéant) afin d’éviter toute confusion.
NOTE :
Lorsque pgBackRest est installé à partir d’un paquet, une configuration logrotate telle que /etc/logrotate.d/pgbackrest peut être fournie, qui effectue le rotation des journaux en tant qu’utilisateur spécifique via la directive su (par exemple su postgres postgres). Étant donné que les fichiers dans /var/log/pgbackrest sont possédés par l’utilisateur exécutant pgBackRest (ici pgbackrest), la directive su doit être mise à jour pour correspondre à cet utilisateur, sinon logrotate échouera avec une erreur de permission.
dépôt ⇒ Créer l’utilisateur pgbackrest
Installer pgBackRest à partir d’un paquet est préférable à la compilation à partir des sources. Lors de l’installation à partir d’un paquet, les autres instructions de cette section sont généralement inutiles, mais il se peut qu’un paquet omette de créer un répertoire ou applique des permissions incorrectes. Dans ce cas, il peut être nécessaire de créer manuellement les répertoires ou de mettre à jour les permissions.
Les paquets RHEL pour pgBackRest sont disponibles sur yum.PostgreSQL.org .
Si des paquets ne sont pas fournis pour votre distribution/version, vous pouvez compiler à partir des sources puis procéder à l’installation manuelle comme indiqué ici.
dépôt ⇒ Installer les dépendances
dépôt ⇒ Copier le binaire pgBackRest depuis l’hôte de compilation
pgBackRest nécessite des répertoires pour les journaux et la configuration, ainsi qu’un fichier de configuration.
dépôt ⇒ Créer le fichier de configuration pgBackRest et les répertoires
dépôt ⇒ Créer le dépôt pgBackRest
Configuration
pgBackRest peut utiliser TLS avec des certificats client pour permettre la communication entre les hôtes. Il est également possible d’utiliser SSH, voir Configurer SSH .
pgBackRest s’attend à ce que les certificats client/serveur soient générés de la même manière que pour PostgreSQL. Consultez Connexions TCP/IP sécurisées avec TLS pour des instructions détaillées sur la génération des certificats.
L’hôte du dépôt doit être configuré avec l’hôte/utilisateur principal et le chemin de la base de données. Le principal sera configuré en tant que pg1 afin de permettre l’ajout ultérieur d’un serveur de secours.
dépôt : /etc/pgbackrest/pgbackrest.conf ⇒ Configurez pg1-host/pg1-host-user et pg1-path
L’hôte de base de données doit être configuré avec l’hôte/utilisateur du dépôt. La valeur par défaut de l’option repo1-host-user est pgbackrest. Si l’utilisateur postgres effectue des restaurations sur l’hôte du dépôt, il est préférable de ne pas autoriser également l’utilisateur postgres à effectuer des sauvegardes. Toutefois, l’utilisateur postgres peut lire directement le dépôt s’il appartient au même groupe que l’utilisateur pgbackrest.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configure repo1-host/repo1-host-user
La configuration de PostgreSQL peut être trouvée dans la section Configurer la sauvegarde archivée .
Les commandes sont exécutées de la même manière qu’avec une configuration à hôte unique, à ceci près que certaines commandes, telles que backup et expire, sont exécutées depuis l’hôte du dépôt plutôt que depuis l’hôte de la base de données.
Configuration du serveur TLS
Le serveur TLS de pgBackRest doit être configuré et démarré sur chaque hôte.
dépôt ⇒ Configuration du serveur pgBackRest
pg-primary ⇒ Configuration du serveur pgBackRest
Créer et vérifier une stanza
Créez le stanza dans le nouveau dépôt.
dépôt ⇒ Créer le stanza
Vérifiez que la configuration est correcte sur les hôtes de base de données et de dépôt. Plus d’informations sur la commande check sont disponibles dans Vérifier la configuration
.
pg-primary ⇒ Vérifier la configuration
dépôt ⇒ Vérifiez la configuration
Effectuer une sauvegarde
Pour effectuer une sauvegarde du cluster PostgreSQL, exécutez pgBackRest avec la commande backup sur l’hôte du dépôt.
dépôt ⇒ Sauvegarder le cluster de démonstration
Depuis la création d’un nouveau dépôt sur l’hôte du dépôt, l’avertissement indiquant que la sauvegarde incrémentielle passe à une sauvegarde complète a été émis.
Restaurer une sauvegarde
Pour effectuer une restauration du cluster PostgreSQL, exécutez pgBackRest avec la commande restore sur l’hôte de la base de données.
pg-primary ⇒ Arrêtez le cluster de démonstration, effectuez une restauration, puis redémarrez PostgreSQL
Sauvegarde / Restauration parallèle
pgBackRest propose un traitement parallèle afin d’améliorer les performances de compression et de transfert. Le nombre de processus à utiliser pour cette fonctionnalité est défini à l’aide de l’option --process-max.
Il est généralement préférable de ne pas utiliser plus de 25 % des processeurs disponibles pour la commande backup. Les sauvegardes n’ont pas besoin de s’exécuter aussi rapidement, à condition d’être effectuées régulièrement, et le processus de sauvegarde ne doit pas impacter les performances de la base de données, si possible.
La commande de restauration peut et doit utiliser tous les processeurs disponibles, car pendant une restauration le cluster PostgreSQL est arrêté et il n’y a généralement aucune autre tâche importante en cours sur l’hôte. Si l’hôte contient plusieurs clusters, cela doit être pris en compte lors de la configuration de la parallélisation de la restauration.
dépôt ⇒ Effectuer une sauvegarde avec un seul processus
dépôt : /etc/pgbackrest/pgbackrest.conf ⇒ Configurez pgBackRest pour utiliser plusieurs processus backup
dépôt ⇒ Effectuer une sauvegarde avec plusieurs processus
dépôt ⇒ Obtenir les informations de sauvegarde pour le cluster de démonstration
La performance de la dernière sauvegarde devrait être améliorée en utilisant plusieurs processus. Pour des sauvegardes très petites, la différence peut ne pas être très marquée, mais à mesure que la taille de la base de données augmente, les gains de temps deviennent plus importants.
Démarrage et arrêt
Si un serveur de secours est promu à des fins de test, ou si un cluster de test est restauré à partir d’une sauvegarde de production, il est recommandé de bloquer l’écriture de ces clusters dans les dépôts pgBackRest. Cette mesure peut être mise en œuvre à l’aide de la commande stop.
Les commandes qui écrivent et sont bloquées par stop sont : archive-push, backup, expire, stanza-create et stanza-upgrade. Notez que stanza-delete est une exception à cette règle (voir Supprimer une stanza
pour plus de détails).
pg-primary ⇒ Arrêt des commandes d’écriture pgBackRest
Les nouvelles commandes d’écriture pgBackRest ne s’exécuteront plus.
dépôt ⇒ Tentative de sauvegarde
Spécifiez l’option --force pour interrompre toute commande d’écriture pgBackRest en cours d’exécution. Cela inclut l’archive-get asynchrone (même si elle redémarre si PostgreSQL en a besoin). Si pgBackRest est déjà arrêté, un nouvel arrêt générera un avertissement.
pg-primary ⇒ Arrêtez à nouveau les services pgBackRest
Redémarrez les commandes d’écriture pgBackRest à l’aide de la commande start. Les commandes d’écriture en cours avant l’arrêt ne reprendront pas automatiquement, mais elles sont désormais autorisées à redémarrer.
pg-primary ⇒ Démarrer les commandes d’écriture pgBackRest
Il est également possible d’arrêter pgBackRest pour une seule stanza.
pg-primary ⇒ Arrête les commandes d’écriture pgBackRest pour la stanza demo
Les nouvelles commandes d’écriture pgBackRest pour la stanza spécifiée ne s’exécuteront plus.
dépôt ⇒ Tentative de sauvegarde
La stanza doit également être précisée lors du lancement des commandes d’écriture pgBackRest pour une seule stanza.
pg-primary ⇒ Démarrer les commandes d’écriture pgBackRest pour la stanza demo
Réplication
La réplication permet de créer plusieurs copies d’un cluster PostgreSQL (appelées réplicas) à partir d’un seul hôte principal. Les réplicas sont utiles pour équilibrer les lectures et assurer une redondance en cas de défaillance de l’hôte principal.
Installation
Un nouvel hôte nommé pg-standby est créé pour exécuter le serveur de secours.
Installer pgBackRest à partir d’un paquet est préférable à la compilation à partir des sources. Lors de l’installation à partir d’un paquet, les autres instructions de cette section sont généralement inutiles, mais il se peut qu’un paquet omette de créer un répertoire ou applique des permissions incorrectes. Dans ce cas, il peut être nécessaire de créer manuellement les répertoires ou de mettre à jour les permissions.
Les paquets RHEL pour pgBackRest sont disponibles sur yum.PostgreSQL.org .
Si des paquets ne sont pas fournis pour votre distribution/version, vous pouvez compiler à partir des sources puis procéder à l’installation manuelle comme indiqué ici.
pg-standby ⇒ Installer les dépendances
pg-standby ⇒ Copier le binaire pgBackRest depuis l’hôte de compilation
pgBackRest nécessite des répertoires pour les journaux et la configuration, ainsi qu’un fichier de configuration.
pg-standby ⇒ Créer le fichier de configuration et les répertoires pgBackRest
Standby chaud
Une station de secours active effectue la réplication à l’aide de l’archive WAL et autorise les requêtes en lecture seule.
La configuration de pgBackRest est très similaire à celle de pg-primary, sauf que le type de récupération standby sera utilisé pour maintenir le cluster en mode récupération lorsque la fin du flux WAL aura été atteinte.
pg-standby:/etc/pgbackrest/pgbackrest.conf ⇒ Configurez pgBackRest sur le serveur de secours
pg-standby ⇒ Configuration du serveur pgBackRest
Créez le chemin où PostgreSQL sera restauré.
pg-standby ⇒ Créer le chemin PostgreSQL
À présent, le serveur de secours peut être créé avec la commande restore.
IMPORTANT :
Si le cluster doit être promu sans devenir le nouveau principal (par exemple pour des rapports ou des tests), utilisez --archive-mode=off ou définissez archive_mode=off dans postgresql.conf afin de désactiver l’archivage. Si l’archivage n’est pas désactivé, le dépôt risque d’être pollué par des WAL qui peuvent compliquer les restaurations.
pg-standby ⇒ Effectuer la restauration du cluster de secours démo
La configuration est en cas de promotion du serveur de secours en serveur principal.
pg-standby:/var/lib/pgsql/14/data/postgresql.conf ⇒ Configurez PostgreSQL
pg-standby ⇒ Démarrer PostgreSQL
Le journal PostgreSQL fournit des informations précieuses sur la récupération. Notez notamment que le cluster est passé en mode standby et est prêt à accepter des connexions en lecture seule.
pg-standby ⇒ Examinez la sortie du journal PostgreSQL pour les messages indiquant une réussite
Une façon simple de vérifier que la réplication est correctement configurée consiste à créer une table sur pg-primary.
pg-primary ⇒ Créer une nouvelle table sur le serveur primaire
Ensuite, interrogez la même table sur pg-standby.
pg-standby ⇒ Interroger une nouvelle table sur le serveur de secours
Qu’est-ce qui s’est mal passé ? Puisque PostgreSQL extrait les segments WAL de l’archive pour effectuer la réplication, les modifications ne seront pas visibles sur le serveur de secours tant que le segment WAL contenant ces modifications n’aura pas été transféré depuis pg-primary.
Cela peut être effectué manuellement en appelant pg_switch_wal(), ce qui transfère le segment WAL actuel vers l’archive (un nouveau segment WAL est créé pour contenir les modifications ultérieures).
pg-primary ⇒ Appel à pg_switch_wal()
À présent, après un court délai, la table apparaîtra sur pg-standby.
pg-standby ⇒ La nouvelle table existe désormais sur le serveur de secours (peut nécessiter plusieurs tentatives)
Vérifiez la configuration du serveur de secours pour accéder au dépôt.
pg-standby ⇒ Vérifier la configuration
Réplication en streaming
Au lieu de se fier uniquement à l’archive WAL, la réplication en streaming établit une connexion directe avec le principal et applique les modifications dès qu’elles sont effectuées sur ce dernier. Cela réduit considérablement le délai de latence entre le principal et le secondaire.
La réplication en streaming nécessite un utilisateur disposant du privilège de réplication.
pg-primary ⇒ Créer un utilisateur de réplication
Le fichier pg_hba.conf doit être mis à jour pour autoriser le serveur de secours à se connecter en tant qu’utilisateur de réplication. Veillez à remplacer l’adresse IP ci-dessous par l’adresse IP réelle de votre serveur pg-standby. Un rechargement sera nécessaire après la modification du fichier pg_hba.conf.
pg-primary ⇒ Créer une entrée pg_hba.conf pour l’utilisateur de réplication
Le serveur de secours doit savoir comment contacter le serveur principal, donc le paramètre primary_conninfo sera configuré dans pgBackRest.
pg-standby:/etc/pgbackrest/pgbackrest.conf ⇒ Définir primary_conninfo
Il est possible de configurer un mot de passe dans le paramètre primary_conninfo, mais utiliser un fichier .pgpass est plus flexible et plus sécurisé.
pg-standby ⇒ Configurez le mot de passe de réplication dans le fichier .pgpass.
À présent, le serveur de secours peut être créé avec la commande restore.
pg-standby ⇒ Arrêtez PostgreSQL et effectuez la restauration du cluster de secours démo
NOTE :
Le paramètre primary_conninfo a été écrit dans le fichier postgresql.auto.conf car il a été configuré en tant que recovery-option dans pgbackrest.conf. L’option --type=preserve peut être utilisée avec restore pour laisser le fichier postgresql.auto.conf existant inchangé si ce comportement est préféré.
Par défaut, RHEL stocke le fichier postgresql.conf dans le répertoire de données PostgreSQL. Cela signifie que le changement apporté à postgresql.conf a été écrasé par la dernière restauration et que le paramètre hot_standby doit être réactivé. D’autres solutions à ce problème consistent à stocker le fichier postgresql.conf ailleurs ou à activer le paramètre hot_standby sur l’hôte pg-primary, où il sera ignoré.
pg-standby:/var/lib/pgsql/14/data/postgresql.conf ⇒ Activer hot_standby
pg-standby ⇒ Démarrer PostgreSQL
Le journal PostgreSQL confirmera que la réplication en flux a commencé.
pg-standby ⇒ Examinez la sortie du journal PostgreSQL pour les messages indiquant une réussite
Désormais, lorsque vous créerez une table sur pg-primary, elle apparaîtra sur pg-standby rapidement et sans avoir à appeler pg_switch_wal().
pg-primary ⇒ Créer une nouvelle table sur le serveur primaire
pg-standby ⇒ Interroger une table sur le serveur de secours
Stanzas multiples
pgBackRest prend en charge plusieurs stanzas. L’utilisation la plus courante consiste à partager un hôte de dépôt entre plusieurs stanzas.
Installation
Un nouvel hôte nommé pg-alt est créé pour exécuter le nouveau primaire.
Installer pgBackRest à partir d’un paquet est préférable à la compilation à partir des sources. Lors de l’installation à partir d’un paquet, les autres instructions de cette section sont généralement inutiles, mais il se peut qu’un paquet omette de créer un répertoire ou applique des permissions incorrectes. Dans ce cas, il peut être nécessaire de créer manuellement les répertoires ou de mettre à jour les permissions.
Les paquets RHEL pour pgBackRest sont disponibles sur yum.PostgreSQL.org .
Si des paquets ne sont pas fournis pour votre distribution/version, vous pouvez compiler à partir des sources puis procéder à l’installation manuelle comme indiqué ici.
pg-alt ⇒ Installer les dépendances
pg-alt ⇒ Copier le binaire pgBackRest depuis l’hôte de compilation
pgBackRest nécessite des répertoires pour les journaux et la configuration, ainsi qu’un fichier de configuration.
pg-alt ⇒ Créer le fichier de configuration et les répertoires pgBackRest
Configuration
La configuration de pgBackRest est presque identique à celle de pg-primary, sauf que la stanza demo-alt sera utilisée, de sorte que les sauvegardes et l’archive seront stockées dans un emplacement séparé.
pg-alt:/etc/pgbackrest/pgbackrest.conf ⇒ Configurez pgBackRest sur le nouveau serveur primaire
dépôt : /etc/pgbackrest/pgbackrest.conf ⇒ Configurez pg1-host/pg1-host-user et pg1-path
pg-alt ⇒ Configuration du serveur pgBackRest
Configurer un cluster de démonstration
pg-alt ⇒ Créer le cluster de démonstration
pg-alt:/var/lib/pgsql/14/data/postgresql.conf ⇒ Configure les paramètres PostgreSQL
pg-alt ⇒ Démarrer le cluster de démonstration
Créer la stanza et vérifier la configuration
La commande stanza-create doit être exécutée pour initialiser la stanza. Il est recommandé d’exécuter la commande check après stanza-create afin de vérifier que l’archivage et les sauvegardes sont correctement configurés.
pg-alt ⇒ Créer la stanza et vérifier la configuration
Si la commande check est exécutée depuis l’hôte du dépôt, tous les stanzas seront vérifiés.
dépôt ⇒ Vérifiez la configuration de tous les stanzas
Archivage asynchrone
La sauvegarde asynchrone est activée avec l’option archive-async. Cette option permet une opération asynchrone pour les commandes archive-push et archive-get.
Un chemin de tampon est requis. Les commandes stockeront les données temporaires ici, mais chaque commande fonctionne de manière assez différente ; l’utilisation du chemin de tampon est donc décrite en détail dans chaque section.
pg-primary ⇒ Créer le répertoire de file d’attente
pg-standby ⇒ Créer le répertoire de tampon
Le chemin d’attente doit être configuré et l’archivage asynchrone activé. L’archivage asynchrone apporte automatiquement certains avantages en réduisant le nombre de connexions établies vers le stockage distant, mais la configuration de process-max peut améliorer considérablement les performances en parallélisant les opérations. Veillez à ne pas définir process-max trop élevé afin de ne pas affecter les opérations normales de la base de données.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Configurez le chemin d’épissage et l’archivage asynchrone
pg-standby:/etc/pgbackrest/pgbackrest.conf ⇒ Configurez le chemin d’épissage et l’archivage asynchrone
NOTE :
process-max est configuré à l’aide de sections de commande afin que l’option ne soit pas utilisée lors de la sauvegarde ni de la restauration. Cela permet également d’attribuer des valeurs différentes à archive-push et archive-get.
À des fins de démonstration, la réplication en streaming sera interrompue afin de forcer PostgreSQL à récupérer les WAL à l’aide de la commande restore_command.
pg-primary ⇒ Interrompre la réplication en continu en modifiant le mot de passe de réplication
pg-standby ⇒ Redémarrer le serveur de secours pour interrompre la connexion
Archivage push
La commande asynchrone archive-push déplace l’archivage des WAL vers un processus (ou plusieurs processus) distinct pour améliorer le débit. Elle fonctionne en « regardant à l’avance » pour déterminer quels segments WAL sont prêts à être archivés, au-delà de la demande actuelle de PostgreSQL via le archive_command. Les segments WAL sont transférés directement depuis le répertoire pg_xlog/pg_wal et la réussite n’est retournée par le archive_command que lorsque le segment WAL a été stocké en toute sécurité dans l’archive.
Le répertoire de stockage temporaire contient l’état actuel de l’archivage des WAL. Les fichiers d’état écrits dans le répertoire de stockage temporaire sont généralement de taille nulle et doivent consommer une quantité négligeable d’espace (au plus quelques mégaoctets) et très peu d’E/S. Toutes les informations contenues dans ce répertoire peuvent être régénérées, aussi n’est-il pas nécessaire de préserver le répertoire de stockage temporaire si le cluster est déplacé vers de nouveaux matériels.
IMPORTANT :
Dans l’implémentation originale de l’archivage asynchrone, les segments WAL étaient copiés dans le répertoire tampon avant compression et transfert. La nouvelle implémentation copie directement les segments WAL depuis le répertoire pg_xlog. Si l’archivage asynchrone était utilisé dans la version 1.12 ou antérieure, lisez attentivement les notes de publication de la version 1.13 avant de procéder à la mise à jour.
Le fichier [stanza]-archive-push-async.log peut être utilisé pour surveiller l’activité du processus asynchrone. Une bonne manière de tester cela consiste à envoyer rapidement un nombre important de segments WAL.
pg-primary ⇒ Test de l’archivage asynchrone parallèle
Le fichier journal contiendra désormais une activité parallèle et asynchrone.
pg-primary ⇒ Vérifier les résultats dans le journal
Récupération d’archive
La commande asynchrone archive-get maintient une file locale de WAL afin d’améliorer le débit. Si un segment de WAL n’est pas présent dans la file, il est récupéré à partir du dépôt, accompagné de suffisamment de segments de WAL consécutifs pour remplir la file. La taille maximale de la file est définie par archive-get-queue-max. Chaque fois que la file est à moins de la moitié pleine, davantage de WAL est récupéré afin de la remplir.
L’opération asynchrone est particulièrement utile dans les environnements qui génèrent beaucoup de WAL ou qui disposent d’une connexion à haute latence avec le stockage du dépôt (par exemple, S3 ou d’autres magasins d’objets). Dans le cas d’une connexion à haute latence, il peut être pertinent d’augmenter process-max.
Le fichier [stanza]-archive-get-async.log peut être utilisé pour surveiller l’activité du processus asynchrone.
pg-standby ⇒ Vérifier les résultats dans le journal
pg-primary ⇒ Corriger la réplication en streaming en modifiant le mot de passe de réplication
Sauvegarde à partir d’un serveur de secours
pgBackRest peut effectuer des sauvegardes sur une instance de secours au lieu du serveur principal. Les sauvegardes sur instance de secours nécessitent que l’hôte pg-standby soit configuré et que l’option backup-standby soit activée. Si plusieurs instances de secours sont configurées, la première instance de secours en cours d’exécution trouvée sera utilisée pour la sauvegarde.
dépôt : /etc/pgbackrest/pgbackrest.conf ⇒ Configurez pg2-host/pg2-host-user et pg2-path
La base primaire comme la base standby sont nécessaires pour effectuer la sauvegarde, bien que l’immense majorité des fichiers soient copiés depuis le standby afin de réduire la charge du primaire. Les hôtes de base de données peuvent être configurés dans n’importe quel ordre ; pgBackRest détermine automatiquement lequel est primaire et lequel est standby.
dépôt ⇒ Effectuer une sauvegarde du cluster de démonstration depuis pg2
Cette sauvegarde incrémentielle montre que la majeure partie des fichiers provient de l’hôte pg-standby et qu’un petit nombre provient de l’hôte pg-primary.
pgBackRest crée une sauvegarde en mode basculement identique à celle effectuée sur le serveur principal. Il procède en lançant/arrêtant la sauvegarde sur l’hôte pg-primary, en copiant uniquement les fichiers répliqués depuis l’hôte pg-standby, puis en copiant les quelques fichiers restants depuis l’hôte pg-primary. Cela signifie que les journaux et les statistiques de la base de données principale seront inclus dans la sauvegarde.
Mise à jour de PostgreSQL
Immédiatement après la mise à niveau de PostgreSQL vers une nouvelle version majeure, le pg-path de toutes les configurations pgBackRest doit être défini sur le nouveau emplacement de la base de données, puis la commande stanza-upgrade doit être exécutée. Si plusieurs dépôts sont configurés sur l’hôte, le stanza sera mis à niveau sur chacun. Si la base de données est hors ligne, utilisez l’option --no-online.
Les instructions suivantes ne constituent pas un guide complet de mise à jour de PostgreSQL, mais décrivent le processus général de mise à jour d’un nœud principal et d’un nœud secondaire, dans le but de démontrer les étapes nécessaires à la reconfiguration de pgBackRest. Il est recommandé de prendre une sauvegarde avant la mise à jour.
pg-primary ⇒ Arrêt de l’ancêtre cluster
Arrêtez l’ancien cluster sur le serveur de secours, car il sera restauré à partir du cluster nouvellement mis à jour.
pg-standby ⇒ Arrêter l’ancêtre cluster
Créez le nouveau cluster et effectuez la mise à jour.
pg-primary ⇒ Créer un nouveau cluster et effectuer la mise à jour
Configurez les paramètres du nouveau cluster et le port.
pg-primary:/var/lib/pgsql/15/data/postgresql.conf ⇒ Configurez PostgreSQL
Mettez à jour la configuration de pgBackRest sur tous les systèmes pour qu’elle pointe vers le nouveau cluster.
pg-primary:/etc/pgbackrest/pgbackrest.conf ⇒ Mettre à jour pg1-path
pg-standby:/etc/pgbackrest/pgbackrest.conf ⇒ Mettre à jour pg-path
dépôt : /etc/pgbackrest/pgbackrest.conf ⇒ Mettre à jour pg1-path et pg2-path, désactiver la sauvegarde depuis le serveur de secours
pg-primary ⇒ Copie de la configuration HBA
Avant de démarrer le nouveau cluster, la commande stanza-upgrade doit être exécutée.
pg-primary ⇒ Mettre à jour la stanza
Démarrer le nouveau cluster et confirmer qu’il est correctement installé.
pg-primary ⇒ Démarrer un nouveau cluster
Testez la configuration à l’aide de la commande check.
pg-primary ⇒ Vérifier la configuration
Supprimez le cluster ancien.
pg-primary ⇒ Supprimer le cluster ancien
Installez les nouveaux binaires PostgreSQL sur le serveur de secours et créez le cluster.
pg-standby ⇒ Supprimer l’ancien cluster et créer le nouveau cluster
Exécutez check sur l’hôte du dépôt. L’avertissement concernant l’arrêt du serveur secondaire est attendu, car le cluster secondaire est arrêté. L’exécution de cette commande montre que le serveur de dépôt est conscient de la présence du serveur secondaire et est correctement configuré pour le serveur principal.
dépôt ⇒ Vérifier la configuration
Effectuez une sauvegarde complète sur le cluster nouvellement configuré, puis restaurez le serveur de secours à partir de cette sauvegarde. Le type de sauvegarde sera automatiquement modifié en full si incr ou diff est demandé.
dépôt ⇒ Exécuter une sauvegarde complète
pg-standby ⇒ Effectuer la restauration du cluster de secours démo
pg-standby ⇒ Démarrer PostgreSQL et vérifier la configuration de pgBackRest
La sauvegarde depuis un serveur de secours peut maintenant être activée, puisque le serveur de secours est restauré.
dépôt : /etc/pgbackrest/pgbackrest.conf ⇒ Réactiver la sauvegarde depuis le serveur secondaire
4 - Référence des commandes
Introduction
Les commandes sont utilisées pour exécuter les différentes fonctions de pgBackRest. Ici, les options de commande sont listées de manière exhaustive, c’est-à-dire que chaque option applicable à une commande est indiquée avec cette commande, même si elle s’applique à une ou plusieurs autres commandes. Cela inclut toutes les options qui peuvent également être configurées dans pgbackrest.conf.
Les options non booléennes configurées dans pgbackrest.conf peuvent être réinitialisées à leur valeur par défaut en ligne de commande en utilisant le préfixe reset-. Cette fonctionnalité peut être utilisée pour effectuer une restauration directement sur un hôte de dépôt. En règle générale, pgBackRest génère une erreur car il détecte que l’hôte de base de données est distant et qu’une restauration ne peut pas être effectuée à distance. En ajoutant --reset-pg1-host en ligne de commande, pgBackRest ignore l’hôte de base de données distant et effectue la restauration localement. Il peut être nécessaire de passer un nouvel --pg1-path pour forcer la restauration à se produire dans un chemin spécifique, c’est-à-dire non pas le chemin utilisé sur l’hôte de base de données.
Le préfixe no- peut être utilisé pour définir une option booléenne à false en ligne de commande.
Toute option peut être définie dans une variable d’environnement en utilisant le préfixe PGBACKREST_ et le nom de l’option en majuscules, en remplaçant - par _, par exemple pg1-path devient PGBACKREST_PG1_PATH et stanza devient PGBACKREST_STANZA. Les options booléennes sont représentées comme elles le seraient dans un fichier de configuration, par exemple PGBACKREST_COMPRESS="n", et les variantes reset-* ne sont pas autorisées. Les options pouvant être spécifiées plusieurs fois en ligne de commande ou dans un fichier de configuration peuvent être représentées en séparant les valeurs par des deux-points, par exemple PGBACKREST_DB_INCLUDE="db1:db2".
Les options en ligne de commande remplacent les options d’environnement, qui remplacent à leur tour les options du fichier de configuration.
Voir Introduction à la configuration pour obtenir des informations sur les types d’option
Commandes
| Commande | Résumé |
|---|---|
annotate | Ajouter, modifier ou supprimer des annotations de sauvegarde après la création de la sauvegarde. |
archive-get | Récupérer des segments WAL archivés pour une restauration, une restauration à un instant donné ou une récupération d’un réplica. |
archive-push | Accepter les segments WAL provenant de PostgreSQL et les envoyer vers les dépôts configurés. |
backup | Créer des sauvegardes vers le dépôt cible (par défaut, le dépôt de priorité la plus élevée). |
check | Valider la configuration des sauvegardes/archives d’un stanza et l’état de santé de l’archivage du WAL. |
expire | Expire les sauvegardes et les WAL archivés selon les politiques de rétention configurées. |
help | Afficher l’aide des commandes et options au niveau général, de la commande ou de l’option. |
info | Afficher l’état/métadonnées d’un stanza et des sauvegardes au format texte ou JSON. |
repo-get | Lire les fichiers du dépôt (comme cat) pour l’administration, l’investigation et les tests. |
repo-ls | Lister les fichiers/chemins du dépôt (comme ls) pour l’administration, l’investigation et les tests. |
restore | Restaurer à partir d’une sauvegarde (la plus récente par défaut) avec une restauration à un instant donné facultative. |
server | Exécuter le serveur TLS pgBackRest pour accéder à distance sans SSH. |
server-ping | Vérifier qu’un serveur TLS pgBackRest accepte les connexions. |
stanza-create | Créer les métadonnées d’un stanza dans tous les dépôts configurés. |
stanza-delete | Supprimer définitivement toutes les sauvegardes et archives d’un stanza. |
stanza-upgrade | Mettre à jour les métadonnées d’un stanza après une mise à niveau majeure de PostgreSQL. |
start | Réactiver les processus pgBackRest après une précédente stop. |
stop | Empêcher l’exécution de nouveaux processus pgBackRest et, éventuellement, forcer l’arrêt des processus en cours. |
verify | Vérifier que les données de sauvegarde et d’archive du dépôt sont valides. |
version | Afficher la version installée de pgBackRest. |
4.1 - Commande d'annotation (annotate)
annotate.Les annotations incluses avec la commande backup peuvent être ajoutées, modifiées ou supprimées ultérieurement à l’aide de la commande annotate.
Options de commande
Option d’annotation de sauvegarde (--annotation)
Ajoutez des paires clé/valeur définies par l’utilisateur à la sauvegarde.
Les utilisateurs peuvent attacher des paires clé/valeur explicatives à la sauvegarde. Cette option peut être utilisée plusieurs fois pour attacher plusieurs annotations.
Les annotations sont produites par la sortie texte de la commande info lorsque une sauvegarde est spécifiée avec --set, et apparaissent toujours dans la sortie JSON.
Définir l’option (--set)
Sauvegarde définie pour annotation.
Je jeu de sauvegarde à annoter.
Options générales
Autoriser l’exécution en tant qu’utilisateur root (--allow-root)
Permettre à la commande de s’exécuter en tant qu’utilisateur root.
Par défaut, seul la commande restore peut être exécutée en tant qu’utilisateur root, car elle est conçue pour gérer soigneusement les propriétés des fichiers. Exécuter d’autres commandes en tant que root risque de créer des fichiers (par exemple dans le dépôt) dont le propriétaire est root, rendant ces fichiers inaccessibles à l’utilisateur PostgreSQL, ce qui entraîne l’échec des commandes ultérieures.
Activez cette option pour exécuter une commande en tant qu’utilisateur root malgré tout. Toutefois, il est bien préférable d’exécuter pgBackRest en tant qu’utilisateur propriétaire du dépôt et du cluster PostgreSQL.
Option Taille tampon (--buffer-size)
Taille du tampon pour les opérations d’E/S.
Taille de tampon utilisée pour les opérations de copie, de compression, de chiffrement et autres. Le nombre de tampons utilisés dépend des options, et chaque opération peut utiliser une mémoire supplémentaire, par exemple, la compression gz peut utiliser jusqu’à 256KiB de mémoire supplémentaire.
Les valeurs autorisées sont 16KiB, 32KiB, 64KiB, 128KiB, 256KiB, 512KiB, 1MiB, 2MiB, 4MiB, 8MiB et 16MiB.
Option de commande client SSH (--cmd-ssh)
Commande cliente SSH.
Utilisez une commande cliente SSH spécifique lorsque vous souhaitez utiliser une alternative ou que la commande ssh n’est pas disponible dans $PATH.
Option niveau de compression réseau (--compress-level-network)
Niveau de compression du réseau.
Définit le niveau de compression réseau lorsque compress-type=none et la commande ne sont pas exécutées sur le même hôte que le dépôt. La compression est utilisée pour réduire le trafic réseau. Lorsque compress-type est différent de none, le paramètre compress-level-network est ignoré et compress-level est utilisé à la place, afin que le fichier ne soit compressé qu’une seule fois.
Option de configuration (--config)
Fichier de configuration pgBackRest.
Utilisez cette option pour spécifier un fichier de configuration différent du fichier par défaut.
Option Chemin d’inclusion de configuration (--config-include-path)
Chemin vers les fichiers de configuration supplémentaires de pgBackRest.
Les fichiers de configuration se trouvant dans l’emplacement spécifié et ayant l’extension .conf seront concaténés au fichier de configuration de pgBackRest, ce qui donne un seul fichier de configuration.
Option de chemin de configuration (--config-path)
Chemin de base des fichiers de configuration de pgBackRest.
Ce paramètre est utilisé pour remplacer le chemin de base par défaut pour les options --config et --config-include-path, sauf si ces dernières sont explicitement définies en ligne de commande.
Par exemple, passer uniquement --config-path=/conf/pgbackrest fait que la valeur par défaut de --config est définie à /conf/pgbackrest/pgbackrest.conf et que la valeur par défaut de --config-include-path est définie à /conf/pgbackrest/conf.d.
Option d’expiration I/O (--io-timeout)
Délai d’attente d’E/S dépassé.
Délai d’attente, en secondes, utilisé pour les connexions et les opérations de lecture/écriture.
Notez que l’opération de lecture/écriture entière n’a pas besoin de se terminer dans ce délai d’attente, mais une certaine progression doit être réalisée, même si elle ne concerne qu’un seul octet.
Option Chemin verrou (--lock-path)
Chemin où les fichiers verrou sont stockés.
Le chemin de verrouillage fournit un emplacement où pgBackRest peut créer des fichiers de verrouillage afin d’empêcher l’exécution simultanée d’opérations en conflit.
Option de masque neutre (--neutral-umask)
Utilisez un umask neutre.
Définit le umask à 0000 afin que les modes du dépôt soient créés de manière cohérente. Le mode par défaut du répertoire est 0750 et le mode par défaut du fichier est 0640.
Pour utiliser le umask de l’utilisateur en cours, spécifiez neutral-umask=n dans le fichier de configuration ou --no-neutral-umask en ligne de commande.
Définir l’option de priorité du processus (--priority)
Définir la priorité du processus.
Définit la priorité (c’est-à-dire la valeur de niceness) accordée au processus par l’ordonnanceur du noyau. Les valeurs positives réduisent la priorité, tandis que les valeurs négatives l’augmentent. Dans la plupart des cas, les processus ne disposent pas des autorisations nécessaires pour augmenter leur priorité.
Option délai d’attente du protocole (--protocol-timeout)
Délai d’attente du protocole.
Définit le délai d’attente, en secondes, durant lequel le processus local ou distant attend qu’un nouveau message soit reçu au niveau du protocole. Cela empêche les processus de rester bloqués indéfiniment en attente d’un message.
NOTE : L’option
protocol-timeoutdoit être supérieure à l’optiondb-timeout.
Option Keep Alive (--sck-keep-alive)
Activation du keep-alive.
Active les messages keep-alive sur les connexions socket.
Option stanza (--stanza)
Définit la stanza.
Une stanza est la configuration d’un cluster de base de données PostgreSQL qui définit son emplacement, la manière dont il sera sauvegardé, les options d’archivage, etc. La plupart des serveurs de base de données n’ont qu’un seul cluster PostgreSQL et donc une seule stanza, tandis que les serveurs de sauvegarde ont une stanza pour chaque cluster de base de données à sauvegarder.
Il est tentant de nommer la stanza en fonction du cluster principal, mais un nom plus pertinent décrit les bases de données contenues dans le cluster. Étant donné que le nom de la stanza sera utilisé pour le principal et toutes les répliques, il est préférable de choisir un nom qui décrit la fonction réelle du cluster, par exemple app ou dw, plutôt que le nom local du cluster, comme main ou prod.
Option de nombre de connexions Keep Alive (--tcp-keep-alive-count)
Nombre de maintien de connexion.
Spécifie le nombre de messages TCP keep-alive pouvant être perdus avant que la connexion ne soit considérée comme inactive.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPCNT.
Option d’idle Keep Alive (--tcp-keep-alive-idle)
Délai d’inactivité pour la maintien de la connexion.
Spécifie la durée (en secondes) pendant laquelle aucune activité réseau ne se produit, après laquelle le système d’exploitation doit envoyer un message de maintien de connexion TCP.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPIDLE.
Option Intervalle Keep Alive (--tcp-keep-alive-interval)
Intervalle de temps pour la maintien de la connexion active.
Spécifie la durée (en secondes) après laquelle un message TCP keep-alive non reconnu doit être renvoyé.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPINTVL.
Suites de chiffrement TLSv1.2 Option (--tls-cipher-12)
Suites de chiffrement TLSv1.2 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. L’exemple proposé constitue un choix raisonnable sauf si des exigences de sécurité spécifiques s’appliquent. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Suites de chiffrement TLSv1.3 Option (--tls-cipher-13)
Suites de chiffrement TLSv1.3 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Options de journalisation
Niveau de journalisation de la console (--log-level-console)
Niveau de journalisation pour la console.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation du fichier (--log-level-file)
Niveau de journalisation des fichiers.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation des erreurs standard (--log-level-stderr)
Niveau de journalisation pour stderr.
Spécifie les niveaux de journalisation qui seront envoyés vers stderr plutôt que vers stdout (spécifié par log-level-console). L’horodatage et le processus ne seront pas envoyés vers stderr.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Option Chemin Journal (--log-path)
Chemin où les fichiers de journalisation sont stockés.
Le chemin de journalisation fournit un emplacement où pgBackRest peut stocker les fichiers de journalisation. Notez que si log-level-file=off, aucun chemin de journalisation n’est requis.
Option de journalisation des sous-processus (--log-subprocess)
Activer la journalisation dans les sous-processus.
Activez la journalisation des fichiers pour tout sous-processus créé par ce processus, en utilisant le niveau de journalisation spécifié par log-level-file.
Option de timestamp de journal (--log-timestamp)
Activer les horodatages dans la journalisation.
Active l’horodatage dans la journalisation console et fichier. Cette option est désactivée dans des situations spéciales, telles que la génération de documentation.
Options du dépôt
Définir l’option dépôt (--repo)
Définir le dépôt.
Spécifiez le dépôt sur lequel une commande doit s’opérer.
Par exemple, cette option peut être utilisée pour effectuer une restauration à partir d’un dépôt spécifique, plutôt que de laisser pgBackRest choisir.
Option de conteneur de dépôt Azure (--repo-azure-container)
Conteneur de dépôt Azure.
Conteneur Azure utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés dans la racine du conteneur en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par Azure dans le conteneur.
Type de clé du dépôt Azure (--repo-azure-key-type)
Type de clé du dépôt Azure.
Les types suivants sont pris en charge pour l’autorisation :
shared- Clé partagéesas- Signature d’accès partagéauto- Autorisation automatique à l’aide d’identités managées Azure
Option de style d’URI de dépôt Azure (--repo-azure-uri-style)
Style URI Azure.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôteaccount.endpoint.path- Se connecter à l’hôteendpointet préfixer le compte aux URI.
Type de chiffrement du dépôt (--repo-cipher-type)
Chiffrement 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 longueur de clé de 256 bits
Notez que le chiffrement est toujours effectué côté client, même si le type de dépôt (par exemple S3) prend en charge le chiffrement.
Option de bac de dépôt GCS (--repo-gcs-bucket)
Dépôt de bucket GCS.
Dépôt GCS utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par GCS dans le bucket.
Option de point de terminaison du dépôt GCS (--repo-gcs-endpoint)
Point de terminaison du dépôt GCS.
Point d’accès utilisé pour se connecter au service de stockage. Peut être mis à jour pour utiliser un serveur local GCS ou un point d’accès alternatif.
Type de clé du dépôt GCS (--repo-gcs-key-type)
Type de clé du dépôt GCS.
Les types suivants sont pris en charge pour l’autorisation :
auto- Autoriser à l’aide du compte de service de l’instance.service- Compte de service à partir d’une clé stockée localement.token- À utiliser pour les tests locaux, par exemplefakegcs.
Lorsque repo-gcs-key-type=service, les identifiants seront rechargés lorsque le jeton d’authentification sera renouvelé.
Option ID du projet du dépôt GCS (--repo-gcs-user-project)
Identifiant du projet GCS.
ID du projet GCS utilisé pour déterminer la facturation des requêtes.
Option hôte du dépôt (--repo-host)
Hôte du dépôt lors de l’opération à distance.
Lors de la sauvegarde et de l’archivage vers un système de fichiers monté localement, ce paramètre n’est pas requis.
Nom obsolète : backup-host
Option du fichier de l’autorité de certification hôte du dépôt (--repo-host-ca-file)
Fichier de l’autorité de certification du serveur de dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour vous connecter à l’hôte du dépôt.
Option Chemin de l’autorité de certification du dépôt (--repo-host-ca-path)
Chemin de l’autorité de certification du serveur de dépôt.
Utilisez un chemin de certificat d’autorité (CA) autre que celui par défaut du système pour établir la connexion avec l’hôte du dépôt.
Option de fichier de certificat d’hôte du dépôt (--repo-host-cert-file)
Fichier de certificat d’hôte du dépôt.
Envoyé à l’hôte du dépôt pour prouver l’identité du client.
Option de commande hôte du dépôt (--repo-host-cmd)
Hôte du dépôt commande pgBackRest.
Requis uniquement si le chemin vers la commande pgBackRest est différent sur les hôtes local et de dépôt. Si non défini, la commande de dépôt sera définie de la même manière que celle de l’hôte local.
Nom obsolète : backup-cmd
Option de configuration de l’hôte du dépôt (--repo-host-config)
Fichier de configuration du serveur de dépôt pgBackRest.
Spécifie l’emplacement du fichier de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le fichier de configuration de l’hôte du dépôt se trouve dans un emplacement différent du fichier de configuration local.
Nom obsolète : sauvegarde-config
Option de chemin d’inclusion de configuration d’hôte de dépôt (--repo-host-config-include-path)
Configuration du serveur de dépôt pgBackRest incluant le chemin.
Définit l’emplacement du chemin d’inclusion de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin d’inclusion de configuration de l’hôte du dépôt est différent du chemin d’inclusion de configuration local.
Chemin de configuration de l’hôte du dépôt (--repo-host-config-path)
Chemin de configuration du serveur de dépôt pgBackRest.
Définit l’emplacement du chemin de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin de configuration de l’hôte du dépôt est différent du chemin de configuration local.
Option de fichier de clé hôte du dépôt (--repo-host-key-file)
Fichier de clé hôte du dépôt.
Vérifie que le certificat client a été envoyé par le propriétaire.
Option de port 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 du serveur du dépôt.
NOTE : Lorsque
repo-host-type=ssh, il n’existe pas de valeur par défaut pourrepo-host-port. Dans ce cas, le port sera celui configuré pour la commande spécifiée parcmd-ssh.
Nom obsolète : backup-ssh-port
Type de protocole d’hôte de dépôt (--repo-host-type)
Type de protocole d’hôte de dépôt.
Les types de protocole suivants sont pris en charge :
ssh- Shell sécurisé.tls- Serveur TLS pgBackRest.
Option d’utilisateur hôte de dépôt (--repo-host-user)
Utilisateur hôte du dépôt lorsque repo-host est défini.
Définit l’utilisateur utilisé pour les opérations sur l’hôte du dépôt. Il est préférable que ce ne soit pas l’utilisateur postgres, mais plutôt un autre utilisateur tel que pgbackrest. Si PostgreSQL s’exécute sur l’hôte du dépôt, l’utilisateur postgres peut être ajouté au groupe pgbackrest afin d’avoir des permissions de lecture sur le dépôt sans pouvoir accidentellement le modifier.
Nom obsolète : backup-user
Option Chemin du dépôt (--repo-path)
Chemin où les sauvegardes et l’archive sont stockées.
Le dépôt est l’emplacement où pgBackRest stocke les sauvegardes et les archives des segments WAL.
Il peut être difficile de prévoir à l’avance l’espace nécessaire. La meilleure approche consiste à effectuer quelques sauvegardes, puis à noter la taille des différents types de sauvegardes (pleines, incrémentielles, différentielles) et à mesurer la quantité de WAL générée par jour. Cela vous donnera une idée générale de l’espace requis, bien que les besoins évoluent probablement au fil du temps avec l’évolution de votre base de données.
Option de bac de dépôt S3 (--repo-s3-bucket)
Dépôt S3.
Dépôt S3 utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par AWS dans le bucket.
Option de point de terminaison du dépôt S3 (--repo-s3-endpoint)
Point de terminaison du dépôt S3.
Le point de terminaison AWS doit être valide pour la région sélectionnée.
Pour les configurations personnalisées ou les tests, les options repo-storage-ca-file, repo-storage-ca-path, repo-storage-host, repo-storage-port, et repo-storage-verify-tls peuvent être utiles.
Type de clé du dépôt S3 (--repo-s3-key-type)
Type de clé pour le dépôt S3.
Les types suivants sont pris en charge :
shared- Clés partagéesauto- Récupérer automatiquement les identifiants temporairesweb-id- Récupérer automatiquement les identifiants d’identité webpod-id- Récupérer automatiquement les identifiants d’identité de pod EKSprocess- Récupérer les identifiants en exécutant un processus
Option ID de clé KMS pour dépôt S3 (--repo-s3-kms-key-id)
Clé KMS du dépôt S3.
Active le chiffrement côté serveur S3 en utilisant la clé du service de gestion des clés AWS spécifiée.
Option de commande du processus d’authentification S3 (--repo-s3-process-cmd)
Commande du processus d’authentification S3.
Commande (et arguments facultatifs) à exécuter pour récupérer les identifiants temporaires S3. Le premier élément de la liste est la commande, les éléments suivants sont passés en tant que paramètres.
Le processus doit produire un JSON contenant les champs AccessKeyId, SecretAccessKey, SessionToken et Expiration. Les identifiants seront automatiquement actualisés avant l’expiration. Voir Process Credential Provider
pour les détails du format.
Option de région du dépôt S3 (--repo-s3-region)
Région du dépôt S3.
La région AWS où le bucket a été créé.
Option Requesteur Payant pour le dépôt S3 (--repo-s3-requester-pays)
Dépôt S3 payeur de la demande.
Active le paiement par le demandeur S3.
Option de rôle du dépôt S3 (--repo-s3-role)
Rôle du dépôt S3.
Le nom du rôle AWS (pas le nom ARN complet) utilisé pour récupérer les identifiants temporaires lorsque repo-s3-key-type=auto.
Option de service de dépôt S3 (--repo-s3-service)
Service de signature S3.
Le service de signature S3 utilisé dans l’authentification SigV4. La valeur par défaut est s3 pour les points d’accès S3 standards. À définir sur s3-outposts lors de l’utilisation d’un point d’accès S3 Outposts.
Option de point de terminaison STS du dépôt S3 (--repo-s3-sts-host)
Point de terminaison STS du dépôt S3.
Point de terminaison STS utilisé pour récupérer des identifiants temporaires lorsque repo-s3-key-type=web-id est configuré. Définissez-le sur un point de terminaison régional (par exemple sts.us-east-1.amazonaws.com) pour utiliser STS régional, ce qui peut être nécessaire pour les régions GovCloud, Chine, ou pour réduire la latence.
Option de style d’URI de dépôt S3 (--repo-s3-uri-style)
Style d’URI S3.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôtebucket.endpoint.path- Se connecter à l’hôteendpointet préfixer les URI par le répertoire.
Option hôte du dépôt SFTP (--repo-sftp-host)
Hôte du dépôt SFTP.
Hôte SFTP contenant le dépôt.
Fingerprint de l’hôte du dépôt SFTP (--repo-sftp-host-fingerprint)
Empreinte du serveur hôte du dépôt SFTP.
La génération de l’empreinte d’hôte du dépôt SFTP doit correspondre à repo-sftp-host-key-hash-type. Générez l’empreinte via awk '{print $2}' ssh_host_xxx_key.pub | base64 -d | (md5sum or sha1sum) -b. Les clés d’hôte SSH se trouvent normalement dans le répertoire /etc/ssh.
Type d’option de vérification de la clé hôte SFTP (--repo-sftp-host-key-check-type)
Type de vérification de la clé hôte SFTP.
Les types de vérification de clé d’hôte SFTP suivants sont pris en charge :
strict- pgBackRest n’ajoutera jamais automatiquement les clés d’hôte au fichier ~/.ssh/known_hosts, et refusera de se connecter aux hôtes dont la clé d’hôte a changé ou n’est pas trouvée dans les fichiers known hosts. Cette option oblige l’utilisateur à ajouter manuellement tous les nouveaux hôtes.accept-new- pgBackRest ajoutera automatiquement les nouvelles clés d’hôte au fichier known hosts de l’utilisateur, mais n’autorisera pas les connexions aux hôtes dont la clé d’hôte a changé.fingerprint- pgBackRest vérifiera la clé d’hôte contre l’empreinte spécifiée par l’optionrepo-sftp-host-fingerprint.none- aucune vérification de clé d’hôte ne sera effectuée.
Type de hachage de la clé hôte du dépôt SFTP (--repo-sftp-host-key-hash-type)
Type de hachage de la clé d’hôte du dépôt SFTP.
Type de hachage de la clé hôte du dépôt SFTP. Déclare le type de hachage à utiliser pour calculer le hachage de la clé hôte du système distant au démarrage SSH. Les versions plus récentes de libssh2 prennent en charge sha256 en plus de md5 et sha1.
Option de port hôte du dépôt SFTP (--repo-sftp-host-port)
Port hôte du dépôt SFTP.
Port hôte du dépôt SFTP.
Option utilisateur hôte dépôt SFTP (--repo-sftp-host-user)
Utilisateur hôte du dépôt SFTP.
Utilisateur sur l’hôte utilisé pour stocker le dépôt.
Option fichier Hôtes SFTP connus (--repo-sftp-known-host)
Fichier d’hôtes SFTP connus.
Fichier known hosts à consulter pour rechercher une correspondance avec un hôte SFTP lors de l’authentification. Si non spécifié, pgBackRest recherchera par défaut dans ~/.ssh/known_hosts, ~/.ssh/known_hosts2, /etc/ssh/ssh_known_hosts et /etc/ssh/ssh_known_hosts2. Si configuré avec un ou plusieurs chemins de fichier, pgBackRest recherchera dans ces fichiers une correspondance. Les chemins de fichier doivent être complets ou commencer par un tilde. L’option repo-sftp-known-host peut être spécifiée plusieurs fois pour indiquer plusieurs fichiers known hosts à consulter. Pour utiliser la vérification du fichier known hosts, l’option repo-sftp-host-fingerprint ne doit pas être définie. Voir également l’option repo-sftp-host-check-type.
Option fichier de clé privée du dépôt SFTP (--repo-sftp-private-key-file)
Fichier de clé privée SFTP.
Fichier de clé privée SFTP utilisé pour l’authentification.
Option de fichier de clé publique du dépôt SFTP (--repo-sftp-public-key-file)
Fichier de clé publique SFTP.
Fichier de clé publique SFTP utilisé pour l’authentification. Facultatif si compilé contre OpenSSL, obligatoire si compilé contre une autre bibliothèque.
Option du fichier CA du dépôt de stockage (--repo-storage-ca-file)
Fichier de certificat d’autorité de certification pour le dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-file, repo-s3-ca-file
Option de chemin du certificat CA TLS pour le dépôt (--repo-storage-ca-path)
Chemin du certificat d’autorité de certification du dépôt.
Utilisez un chemin de certificat d’autorité de certification (CA) autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-path, repo-s3-ca-path
Option hôte de stockage du dépôt (--repo-storage-host)
Hôte de stockage du dépôt.
Se connecter à un hôte autre que le point de terminaison de stockage (par exemple S3, Azure). Cela est généralement utilisé pour les tests.
Noms obsolètes : repo-azure-host, repo-s3-host
Option de port du stockage du dépôt (--repo-storage-port)
Port du stockage du dépôt.
Port à utiliser lors de la connexion au point de terminaison du stockage (par exemple S3, Azure) ou à l’hôte (le cas échéant).
Noms obsolètes : repo-azure-port, repo-s3-port
Option d’étiquette de stockage du dépôt (--repo-storage-tag)
Étiquette(s) de stockage du dépôt.
Spécifiez les balises à ajouter aux objets lorsque le dépôt est un magasin d’objets (par exemple, S3). L’option peut être répétée pour ajouter plusieurs balises.
Il n’existe aucune fonctionnalité dans pgBackRest permettant de modifier ces balises ; veillez donc à les définir correctement avant d’exécuter stanza-create afin d’assurer une cohérence des balises dans l’ensemble du dépôt.
Option de taille de morceau de chargement du dépôt (--repo-storage-upload-chunk-size)
Taille du morceau de chargement du dépôt.
Les magasins d’objets tels que S3 permettent de télécharger des fichiers par morceaux lorsque le fichier est trop volumineux pour être stocké en mémoire. Même si le fichier peut être stocké en mémoire, il est plus efficace en mémoire de limiter la quantité de mémoire utilisée pour les téléchargements.
Une taille de morceau plus élevée entraîne généralement de meilleures performances, car elle réduit le nombre de requêtes de téléchargement et permet de télécharger plus de fichiers en une seule requête plutôt qu’en morceaux. Le désavantage est que la consommation mémoire sera plus élevée, et comme la mémoire tampon de morceau doit être allouée par processus, des valeurs plus élevées de process-max entraînent une consommation mémoire globale plus importante.
Notez que les tailles de morceau valides varient selon le type de stockage et la plateforme. Par exemple, AWS S3 impose une taille minimale de morceau de 5MiB. La terminologie relative à la taille du morceau varie selon le type de stockage ; utilisez donc « part size » pour AWS S3, « chunk size » pour GCS et « block size » pour Azure lorsque vous recherchez les valeurs minimales ou maximales.
Si un fichier est plus grand que 1GiB (la taille maximale que PostgreSQL crée par défaut), la taille de tranche sera augmentée progressivement jusqu’à la valeur maximale autorisée afin de terminer le téléchargement du fichier.
Option de vérification du certificat de stockage du dépôt (--repo-storage-verify-tls)
Vérification du certificat du dépôt de stockage.
Cette option permet d’activer/désactiver la vérification du certificat TLS du serveur de stockage (par exemple, S3, Azure). La désactivation ne doit être utilisée que pour des tests ou d’autres scénarios où un certificat a été auto-signé.
Noms obsolètes : repo-azure-verify-tls, repo-s3-verify-ssl, repo-s3-verify-tls
Option de type de dépôt (--repo-type)
Type de stockage utilisé pour le dépôt.
Les types de dépôt suivants sont pris en charge :
azure- Service de stockage Blob Azurecifs- Commeposix, mais désactive les liens et les fsyncs de répertoiregcs- Google Cloud Storageposix- Systèmes de fichiers conformes à Posixs3- AWS Simple Storage Servicesftp- Protocole de transfert de fichiers sécurisé
Lorsqu’un montage NFS est utilisé comme dépôt posix, les mêmes règles s’appliquent à pgBackRest qu’indiquées dans la documentation PostgreSQL : Création d’un cluster de base de données - Systèmes de fichiers
.
4.2 - Commande d’archive (archive-get)
archive-get.Cette commande est utilisée par PostgreSQL pour effectuer une restauration, une récupération jusqu’à un instant précis (PITR), ou en tant qu’alternative au streaming afin de maintenir une réplique à jour. Les segments WAL sont requis pour la récupération de PostgreSQL ou pour maintenir une réplique.
Lorsque plusieurs dépôts sont configurés, les fichiers WAL seront récupérés dans l’ordre de priorité des dépôts (par exemple repo1, repo2, etc.). En général, il est préférable que les dépôts plus rapides ou moins coûteux aient une priorité plus élevée. Si un dépôt est spécifié avec l’option --repo, seul ce dépôt sera recherché.
La commande archive-get est configurée et générée par pgBackRest lors d’une restauration afin d’être utilisée par PostgreSQL. Voir Restauration à un instant donné
pour un exemple.
Options de commande
Option d’archivage asynchrone (--archive-async)
Envoyer/récupérer les segments WAL de manière asynchrone.
Active l’exécution asynchrone pour les commandes archive-push et archive-get.
L’opération asynchrone est plus efficace car elle permet de réutiliser les connexions et de tirer parti de la parallélisation. Consultez les options spool-path, archive-get-queue-max et archive-push-queue-max pour plus d’informations.
Taille maximale de la file d’attente de récupération d’archive (--archive-get-queue-max)
Taille maximale de la file d’attente archive-get de pgBackRest.
Spécifie la taille maximale de la file d’attente archive-get lorsque archive-async est activé. La file est stockée dans spool-path et sert à accélérer la fourniture des WAL à PostgreSQL.
Option de réessai du segment WAL manquant (--archive-missing-retry)
Réessayer le segment WAL manquant
Réessayer un segment WAL précédemment signalé comme manquant par la commande archive-get en mode asynchrone. Cela empêche l’utilisation de notifications provenant d’une restauration antérieure dans le répertoire de stockage temporaire, qui pourrait entraîner une défaillance de récupération si la cohérence n’a pas été atteinte.
Désactiver cette option permet à PostgreSQL de reconnaître plus fiablement l’arrivée à la fin du WAL dans l’archive, ce qui permet de passer au streaming depuis le principal. Avec les réessais activés, un flux continu de WAL archivé fait que PostgreSQL continue de récupérer le WAL depuis l’archive au lieu de basculer vers le streaming.
Lorsque cette option est désactivée, il est important de s’assurer que le chemin d’épissage de la stanza est vide. La commande restore effectue automatiquement cette opération si le chemin d’épissage est configuré au moment de la restauration. Sinon, il incombe à l’utilisateur de s’assurer que le chemin d’épissage est vide.
Option délai d’archivage (--archive-timeout)
Délai d’attente de l’archive.
Définir le délai maximal, en secondes, d’attente pour chaque segment WAL afin qu’il atteigne le dépôt d’archive pgBackRest. Ce délai s’applique aux commandes check et backup lors de l’attente des segments WAL nécessaires à la cohérence de la sauvegarde.
Options générales
Autoriser l’exécution en tant qu’utilisateur root (--allow-root)
Permettre à la commande de s’exécuter en tant qu’utilisateur root.
Par défaut, seul la commande restore peut être exécutée en tant qu’utilisateur root, car elle est conçue pour gérer soigneusement les propriétés des fichiers. Exécuter d’autres commandes en tant que root risque de créer des fichiers (par exemple dans le dépôt) dont le propriétaire est root, rendant ces fichiers inaccessibles à l’utilisateur PostgreSQL, ce qui entraîne l’échec des commandes ultérieures.
Activez cette option pour exécuter une commande en tant qu’utilisateur root malgré tout. Toutefois, il est bien préférable d’exécuter pgBackRest en tant qu’utilisateur propriétaire du dépôt et du cluster PostgreSQL.
Option Taille tampon (--buffer-size)
Taille du tampon pour les opérations d’E/S.
Taille de tampon utilisée pour les opérations de copie, de compression, de chiffrement et autres. Le nombre de tampons utilisés dépend des options, et chaque opération peut utiliser une mémoire supplémentaire, par exemple, la compression gz peut utiliser jusqu’à 256KiB de mémoire supplémentaire.
Les valeurs autorisées sont 16KiB, 32KiB, 64KiB, 128KiB, 256KiB, 512KiB, 1MiB, 2MiB, 4MiB, 8MiB et 16MiB.
Option de commande pgBackRest (--cmd)
Commande pgBackRest.
pgBackRest peut générer une chaîne de commande, par exemple lorsque la commande restore génère le paramètre restore_command. Dans ce cas, la commande utilisée pour exécuter le processus pgBackRest sera employée, sauf si l’option cmd est fournie.
AVERTISSEMENT :
Envelopper la commande pgBackRest peut entraîner un comportement imprévisible et n’est pas recommandé.
Option de commande client SSH (--cmd-ssh)
Commande cliente SSH.
Utilisez une commande cliente SSH spécifique lorsque vous souhaitez utiliser une alternative ou que la commande ssh n’est pas disponible dans $PATH.
Option niveau de compression réseau (--compress-level-network)
Niveau de compression du réseau.
Définit le niveau de compression réseau lorsque compress-type=none et la commande ne sont pas exécutées sur le même hôte que le dépôt. La compression est utilisée pour réduire le trafic réseau. Lorsque compress-type est différent de none, le paramètre compress-level-network est ignoré et compress-level est utilisé à la place, afin que le fichier ne soit compressé qu’une seule fois.
Option de configuration (--config)
Fichier de configuration pgBackRest.
Utilisez cette option pour spécifier un fichier de configuration différent du fichier par défaut.
Option Chemin d’inclusion de configuration (--config-include-path)
Chemin vers les fichiers de configuration supplémentaires de pgBackRest.
Les fichiers de configuration se trouvant dans l’emplacement spécifié et ayant l’extension .conf seront concaténés au fichier de configuration de pgBackRest, ce qui donne un seul fichier de configuration.
Option de chemin de configuration (--config-path)
Chemin de base des fichiers de configuration de pgBackRest.
Ce paramètre est utilisé pour remplacer le chemin de base par défaut pour les options --config et --config-include-path, sauf si ces dernières sont explicitement définies en ligne de commande.
Par exemple, passer uniquement --config-path=/conf/pgbackrest fait que la valeur par défaut de --config est définie à /conf/pgbackrest/pgbackrest.conf et que la valeur par défaut de --config-include-path est définie à /conf/pgbackrest/conf.d.
Option d’expiration I/O (--io-timeout)
Délai d’attente d’E/S dépassé.
Délai d’attente, en secondes, utilisé pour les connexions et les opérations de lecture/écriture.
Notez que l’opération de lecture/écriture entière n’a pas besoin de se terminer dans ce délai d’attente, mais une certaine progression doit être réalisée, même si elle ne concerne qu’un seul octet.
Option Chemin verrou (--lock-path)
Chemin où les fichiers verrou sont stockés.
Le chemin de verrouillage fournit un emplacement où pgBackRest peut créer des fichiers de verrouillage afin d’empêcher l’exécution simultanée d’opérations en conflit.
Option de masque neutre (--neutral-umask)
Utilisez un umask neutre.
Définit le umask à 0000 afin que les modes du dépôt soient créés de manière cohérente. Le mode par défaut du répertoire est 0750 et le mode par défaut du fichier est 0640.
Pour utiliser le umask de l’utilisateur en cours, spécifiez neutral-umask=n dans le fichier de configuration ou --no-neutral-umask en ligne de commande.
Définir l’option de priorité du processus (--priority)
Définir la priorité du processus.
Définit la priorité (c’est-à-dire la valeur de niceness) accordée au processus par l’ordonnanceur du noyau. Les valeurs positives réduisent la priorité, tandis que les valeurs négatives l’augmentent. Dans la plupart des cas, les processus ne disposent pas des autorisations nécessaires pour augmenter leur priorité.
Option de processus maximum (--process-max)
Nombre maximal de processus à utiliser pour la compression ou le transfert.
Chaque processus effectuera une compression et un transfert afin d’accélérer l’exécution de la commande, mais ne définissez pas process-max trop élevé afin de ne pas affecter les performances de la base de données.
Option délai d’attente du protocole (--protocol-timeout)
Délai d’attente du protocole.
Définit le délai d’attente, en secondes, durant lequel le processus local ou distant attend qu’un nouveau message soit reçu au niveau du protocole. Cela empêche les processus de rester bloqués indéfiniment en attente d’un message.
NOTE : L’option
protocol-timeoutdoit être supérieure à l’optiondb-timeout.
Option Keep Alive (--sck-keep-alive)
Activation du keep-alive.
Active les messages keep-alive sur les connexions socket.
Option Chemin de répertoire d’attente (--spool-path)
Chemin où les données transitoires sont stockées.
Ce chemin est utilisé pour stocker les données de la commande asynchrone archive-push et archive-get.
La commande asynchrone archive-push écrit des accusés de réception dans le répertoire de spool après avoir correctement stocké le WAL dans l’archive, ou une erreur en cas d’échec, afin que le processus au premier plan puisse informer rapidement PostgreSQL. Ces fichiers sont très petits : vides en cas de succès et de quelques centaines d’octets en cas d’erreur.
La commande asynchrone archive-get met en file d’attente les fichiers WAL dans le répertoire de stockage provisoire afin de pouvoir les fournir très rapidement lorsque PostgreSQL les demande. Le déplacement des fichiers vers PostgreSQL est le plus efficace lorsque le répertoire de stockage provisoire se trouve sur le même système de fichiers que pg_xlog/pg_wal. Toutefois, il n’est pas recommandé de placer le répertoire de stockage provisoire à l’intérieur du répertoire pg_xlog/pg_wal, car cela pourrait entraîner des problèmes pour les utilitaires PostgreSQL tels que pg_rewind.
Les données stockées dans le chemin d’attente ne sont pas strictement temporaires, car elles peuvent et doivent survivre à un redémarrage. Toutefois, leur perte n’est pas problématique. pgBackRest vérifiera simplement chaque segment WAL afin de s’assurer qu’il est correctement archivé pour archive-push et reconstruira la file d’attente pour archive-get.
Le chemin d’attente doit ê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.
Option stanza (--stanza)
Définit la stanza.
Une stanza est la configuration d’un cluster de base de données PostgreSQL qui définit son emplacement, la manière dont il sera sauvegardé, les options d’archivage, etc. La plupart des serveurs de base de données n’ont qu’un seul cluster PostgreSQL et donc une seule stanza, tandis que les serveurs de sauvegarde ont une stanza pour chaque cluster de base de données à sauvegarder.
Il est tentant de nommer la stanza en fonction du cluster principal, mais un nom plus pertinent décrit les bases de données contenues dans le cluster. Étant donné que le nom de la stanza sera utilisé pour le principal et toutes les répliques, il est préférable de choisir un nom qui décrit la fonction réelle du cluster, par exemple app ou dw, plutôt que le nom local du cluster, comme main ou prod.
Option de nombre de connexions Keep Alive (--tcp-keep-alive-count)
Nombre de maintien de connexion.
Spécifie le nombre de messages TCP keep-alive pouvant être perdus avant que la connexion ne soit considérée comme inactive.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPCNT.
Option d’idle Keep Alive (--tcp-keep-alive-idle)
Délai d’inactivité pour la maintien de la connexion.
Spécifie la durée (en secondes) pendant laquelle aucune activité réseau ne se produit, après laquelle le système d’exploitation doit envoyer un message de maintien de connexion TCP.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPIDLE.
Option Intervalle Keep Alive (--tcp-keep-alive-interval)
Intervalle de temps pour la maintien de la connexion active.
Spécifie la durée (en secondes) après laquelle un message TCP keep-alive non reconnu doit être renvoyé.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPINTVL.
Suites de chiffrement TLSv1.2 Option (--tls-cipher-12)
Suites de chiffrement TLSv1.2 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. L’exemple proposé constitue un choix raisonnable sauf si des exigences de sécurité spécifiques s’appliquent. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Suites de chiffrement TLSv1.3 Option (--tls-cipher-13)
Suites de chiffrement TLSv1.3 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Options de journalisation
Niveau de journalisation de la console (--log-level-console)
Niveau de journalisation pour la console.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation du fichier (--log-level-file)
Niveau de journalisation des fichiers.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation des erreurs standard (--log-level-stderr)
Niveau de journalisation pour stderr.
Spécifie les niveaux de journalisation qui seront envoyés vers stderr plutôt que vers stdout (spécifié par log-level-console). L’horodatage et le processus ne seront pas envoyés vers stderr.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Option Chemin Journal (--log-path)
Chemin où les fichiers de journalisation sont stockés.
Le chemin de journalisation fournit un emplacement où pgBackRest peut stocker les fichiers de journalisation. Notez que si log-level-file=off, aucun chemin de journalisation n’est requis.
Option de journalisation des sous-processus (--log-subprocess)
Activer la journalisation dans les sous-processus.
Activez la journalisation des fichiers pour tout sous-processus créé par ce processus, en utilisant le niveau de journalisation spécifié par log-level-file.
Option de timestamp de journal (--log-timestamp)
Activer les horodatages dans la journalisation.
Active l’horodatage dans la journalisation console et fichier. Cette option est désactivée dans des situations spéciales, telles que la génération de documentation.
Options du mainteneur
Option de version PostgreSQL obligatoire (--pg-version-force)
Forcer la version de PostgreSQL.
La version de PostgreSQL spécifiée sera utilisée à la place de la version détectée automatiquement en lisant pg_control ou les en-têtes WAL. Cela est principalement utile pour les forks de PostgreSQL ou les versions de développement où ces valeurs diffèrent de la version de publication. La version rapportée par PostgreSQL via server_version_num doit correspondre à la version forcée.
AVERTISSEMENT :
Faites preuve de prudence en utilisant cette option, car pg_control et les en-têtes WAL seront toujours lus selon le format attendu pour la version spécifiée, c’est-à-dire le format issu de la version open-source officielle de PostgreSQL. Si la version fork ou développée modifie le format des champs sur lesquels pgBackRest dépend, cela entraînera un comportement imprévu. En général, cette option ne fonctionnera correctement que si le fork ajoute tous les membres de structure personnalisés après les membres standard de PostgreSQL.
Options du dépôt
Définir l’option dépôt (--repo)
Définir le dépôt.
Spécifiez le dépôt sur lequel une commande doit s’opérer.
Par exemple, cette option peut être utilisée pour effectuer une restauration à partir d’un dépôt spécifique, plutôt que de laisser pgBackRest choisir.
Option de conteneur de dépôt Azure (--repo-azure-container)
Conteneur de dépôt Azure.
Conteneur Azure utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés dans la racine du conteneur en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par Azure dans le conteneur.
Type de clé du dépôt Azure (--repo-azure-key-type)
Type de clé du dépôt Azure.
Les types suivants sont pris en charge pour l’autorisation :
shared- Clé partagéesas- Signature d’accès partagéauto- Autorisation automatique à l’aide d’identités managées Azure
Option de style d’URI de dépôt Azure (--repo-azure-uri-style)
Style URI Azure.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôteaccount.endpoint.path- Se connecter à l’hôteendpointet préfixer le compte aux URI.
Type de chiffrement du dépôt (--repo-cipher-type)
Chiffrement 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 longueur de clé de 256 bits
Notez que le chiffrement est toujours effectué côté client, même si le type de dépôt (par exemple S3) prend en charge le chiffrement.
Option de bac de dépôt GCS (--repo-gcs-bucket)
Dépôt de bucket GCS.
Dépôt GCS utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par GCS dans le bucket.
Option de point de terminaison du dépôt GCS (--repo-gcs-endpoint)
Point de terminaison du dépôt GCS.
Point d’accès utilisé pour se connecter au service de stockage. Peut être mis à jour pour utiliser un serveur local GCS ou un point d’accès alternatif.
Type de clé du dépôt GCS (--repo-gcs-key-type)
Type de clé du dépôt GCS.
Les types suivants sont pris en charge pour l’autorisation :
auto- Autoriser à l’aide du compte de service de l’instance.service- Compte de service à partir d’une clé stockée localement.token- À utiliser pour les tests locaux, par exemplefakegcs.
Lorsque repo-gcs-key-type=service, les identifiants seront rechargés lorsque le jeton d’authentification sera renouvelé.
Option ID du projet du dépôt GCS (--repo-gcs-user-project)
Identifiant du projet GCS.
ID du projet GCS utilisé pour déterminer la facturation des requêtes.
Option hôte du dépôt (--repo-host)
Hôte du dépôt lors de l’opération à distance.
Lors de la sauvegarde et de l’archivage vers un système de fichiers monté localement, ce paramètre n’est pas requis.
Nom obsolète : backup-host
Option du fichier de l’autorité de certification hôte du dépôt (--repo-host-ca-file)
Fichier de l’autorité de certification du serveur de dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour vous connecter à l’hôte du dépôt.
Option Chemin de l’autorité de certification du dépôt (--repo-host-ca-path)
Chemin de l’autorité de certification du serveur de dépôt.
Utilisez un chemin de certificat d’autorité (CA) autre que celui par défaut du système pour établir la connexion avec l’hôte du dépôt.
Option de fichier de certificat d’hôte du dépôt (--repo-host-cert-file)
Fichier de certificat d’hôte du dépôt.
Envoyé à l’hôte du dépôt pour prouver l’identité du client.
Option de commande hôte du dépôt (--repo-host-cmd)
Hôte du dépôt commande pgBackRest.
Requis uniquement si le chemin vers la commande pgBackRest est différent sur les hôtes local et de dépôt. Si non défini, la commande de dépôt sera définie de la même manière que celle de l’hôte local.
Nom obsolète : backup-cmd
Option de configuration de l’hôte du dépôt (--repo-host-config)
Fichier de configuration du serveur de dépôt pgBackRest.
Spécifie l’emplacement du fichier de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le fichier de configuration de l’hôte du dépôt se trouve dans un emplacement différent du fichier de configuration local.
Nom obsolète : sauvegarde-config
Option de chemin d’inclusion de configuration d’hôte de dépôt (--repo-host-config-include-path)
Configuration du serveur de dépôt pgBackRest incluant le chemin.
Définit l’emplacement du chemin d’inclusion de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin d’inclusion de configuration de l’hôte du dépôt est différent du chemin d’inclusion de configuration local.
Chemin de configuration de l’hôte du dépôt (--repo-host-config-path)
Chemin de configuration du serveur de dépôt pgBackRest.
Définit l’emplacement du chemin de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin de configuration de l’hôte du dépôt est différent du chemin de configuration local.
Option de fichier de clé hôte du dépôt (--repo-host-key-file)
Fichier de clé hôte du dépôt.
Vérifie que le certificat client a été envoyé par le propriétaire.
Option de port 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 du serveur du dépôt.
NOTE : Lorsque
repo-host-type=ssh, il n’existe pas de valeur par défaut pourrepo-host-port. Dans ce cas, le port sera celui configuré pour la commande spécifiée parcmd-ssh.
Nom obsolète : backup-ssh-port
Type de protocole d’hôte de dépôt (--repo-host-type)
Type de protocole d’hôte de dépôt.
Les types de protocole suivants sont pris en charge :
ssh- Shell sécurisé.tls- Serveur TLS pgBackRest.
Option d’utilisateur hôte de dépôt (--repo-host-user)
Utilisateur hôte du dépôt lorsque repo-host est défini.
Définit l’utilisateur utilisé pour les opérations sur l’hôte du dépôt. Il est préférable que ce ne soit pas l’utilisateur postgres, mais plutôt un autre utilisateur tel que pgbackrest. Si PostgreSQL s’exécute sur l’hôte du dépôt, l’utilisateur postgres peut être ajouté au groupe pgbackrest afin d’avoir des permissions de lecture sur le dépôt sans pouvoir accidentellement le modifier.
Nom obsolète : backup-user
Option Chemin du dépôt (--repo-path)
Chemin où les sauvegardes et l’archive sont stockées.
Le dépôt est l’emplacement où pgBackRest stocke les sauvegardes et les archives des segments WAL.
Il peut être difficile de prévoir à l’avance l’espace nécessaire. La meilleure approche consiste à effectuer quelques sauvegardes, puis à noter la taille des différents types de sauvegardes (pleines, incrémentielles, différentielles) et à mesurer la quantité de WAL générée par jour. Cela vous donnera une idée générale de l’espace requis, bien que les besoins évoluent probablement au fil du temps avec l’évolution de votre base de données.
Option de bac de dépôt S3 (--repo-s3-bucket)
Dépôt S3.
Dépôt S3 utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par AWS dans le bucket.
Option de point de terminaison du dépôt S3 (--repo-s3-endpoint)
Point de terminaison du dépôt S3.
Le point de terminaison AWS doit être valide pour la région sélectionnée.
Pour les configurations personnalisées ou les tests, les options repo-storage-ca-file, repo-storage-ca-path, repo-storage-host, repo-storage-port, et repo-storage-verify-tls peuvent être utiles.
Type de clé du dépôt S3 (--repo-s3-key-type)
Type de clé pour le dépôt S3.
Les types suivants sont pris en charge :
shared- Clés partagéesauto- Récupérer automatiquement les identifiants temporairesweb-id- Récupérer automatiquement les identifiants d’identité webpod-id- Récupérer automatiquement les identifiants d’identité de pod EKSprocess- Récupérer les identifiants en exécutant un processus
Option ID de clé KMS pour dépôt S3 (--repo-s3-kms-key-id)
Clé KMS du dépôt S3.
Active le chiffrement côté serveur S3 en utilisant la clé du service de gestion des clés AWS spécifiée.
Option de commande du processus d’authentification S3 (--repo-s3-process-cmd)
Commande du processus d’authentification S3.
Commande (et arguments facultatifs) à exécuter pour récupérer les identifiants temporaires S3. Le premier élément de la liste est la commande, les éléments suivants sont passés en tant que paramètres.
Le processus doit produire un JSON contenant les champs AccessKeyId, SecretAccessKey, SessionToken et Expiration. Les identifiants seront automatiquement actualisés avant l’expiration. Voir Process Credential Provider
pour les détails du format.
Option de région du dépôt S3 (--repo-s3-region)
Région du dépôt S3.
La région AWS où le bucket a été créé.
Option Requesteur Payant pour le dépôt S3 (--repo-s3-requester-pays)
Dépôt S3 payeur de la demande.
Active le paiement par le demandeur S3.
Option de rôle du dépôt S3 (--repo-s3-role)
Rôle du dépôt S3.
Le nom du rôle AWS (pas le nom ARN complet) utilisé pour récupérer les identifiants temporaires lorsque repo-s3-key-type=auto.
Option de service de dépôt S3 (--repo-s3-service)
Service de signature S3.
Le service de signature S3 utilisé dans l’authentification SigV4. La valeur par défaut est s3 pour les points d’accès S3 standards. À définir sur s3-outposts lors de l’utilisation d’un point d’accès S3 Outposts.
Option de point de terminaison STS du dépôt S3 (--repo-s3-sts-host)
Point de terminaison STS du dépôt S3.
Point de terminaison STS utilisé pour récupérer des identifiants temporaires lorsque repo-s3-key-type=web-id est configuré. Définissez-le sur un point de terminaison régional (par exemple sts.us-east-1.amazonaws.com) pour utiliser STS régional, ce qui peut être nécessaire pour les régions GovCloud, Chine, ou pour réduire la latence.
Option de style d’URI de dépôt S3 (--repo-s3-uri-style)
Style d’URI S3.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôtebucket.endpoint.path- Se connecter à l’hôteendpointet préfixer les URI par le répertoire.
Option hôte du dépôt SFTP (--repo-sftp-host)
Hôte du dépôt SFTP.
Hôte SFTP contenant le dépôt.
Fingerprint de l’hôte du dépôt SFTP (--repo-sftp-host-fingerprint)
Empreinte du serveur hôte du dépôt SFTP.
La génération de l’empreinte d’hôte du dépôt SFTP doit correspondre à repo-sftp-host-key-hash-type. Générez l’empreinte via awk '{print $2}' ssh_host_xxx_key.pub | base64 -d | (md5sum or sha1sum) -b. Les clés d’hôte SSH se trouvent normalement dans le répertoire /etc/ssh.
Type d’option de vérification de la clé hôte SFTP (--repo-sftp-host-key-check-type)
Type de vérification de la clé hôte SFTP.
Les types de vérification de clé d’hôte SFTP suivants sont pris en charge :
strict- pgBackRest n’ajoutera jamais automatiquement les clés d’hôte au fichier ~/.ssh/known_hosts, et refusera de se connecter aux hôtes dont la clé d’hôte a changé ou n’est pas trouvée dans les fichiers known hosts. Cette option oblige l’utilisateur à ajouter manuellement tous les nouveaux hôtes.accept-new- pgBackRest ajoutera automatiquement les nouvelles clés d’hôte au fichier known hosts de l’utilisateur, mais n’autorisera pas les connexions aux hôtes dont la clé d’hôte a changé.fingerprint- pgBackRest vérifiera la clé d’hôte contre l’empreinte spécifiée par l’optionrepo-sftp-host-fingerprint.none- aucune vérification de clé d’hôte ne sera effectuée.
Type de hachage de la clé hôte du dépôt SFTP (--repo-sftp-host-key-hash-type)
Type de hachage de la clé d’hôte du dépôt SFTP.
Type de hachage de la clé hôte du dépôt SFTP. Déclare le type de hachage à utiliser pour calculer le hachage de la clé hôte du système distant au démarrage SSH. Les versions plus récentes de libssh2 prennent en charge sha256 en plus de md5 et sha1.
Option de port hôte du dépôt SFTP (--repo-sftp-host-port)
Port hôte du dépôt SFTP.
Port hôte du dépôt SFTP.
Option utilisateur hôte dépôt SFTP (--repo-sftp-host-user)
Utilisateur hôte du dépôt SFTP.
Utilisateur sur l’hôte utilisé pour stocker le dépôt.
Option fichier Hôtes SFTP connus (--repo-sftp-known-host)
Fichier d’hôtes SFTP connus.
Fichier known hosts à consulter pour rechercher une correspondance avec un hôte SFTP lors de l’authentification. Si non spécifié, pgBackRest recherchera par défaut dans ~/.ssh/known_hosts, ~/.ssh/known_hosts2, /etc/ssh/ssh_known_hosts et /etc/ssh/ssh_known_hosts2. Si configuré avec un ou plusieurs chemins de fichier, pgBackRest recherchera dans ces fichiers une correspondance. Les chemins de fichier doivent être complets ou commencer par un tilde. L’option repo-sftp-known-host peut être spécifiée plusieurs fois pour indiquer plusieurs fichiers known hosts à consulter. Pour utiliser la vérification du fichier known hosts, l’option repo-sftp-host-fingerprint ne doit pas être définie. Voir également l’option repo-sftp-host-check-type.
Option fichier de clé privée du dépôt SFTP (--repo-sftp-private-key-file)
Fichier de clé privée SFTP.
Fichier de clé privée SFTP utilisé pour l’authentification.
Option de fichier de clé publique du dépôt SFTP (--repo-sftp-public-key-file)
Fichier de clé publique SFTP.
Fichier de clé publique SFTP utilisé pour l’authentification. Facultatif si compilé contre OpenSSL, obligatoire si compilé contre une autre bibliothèque.
Option du fichier CA du dépôt de stockage (--repo-storage-ca-file)
Fichier de certificat d’autorité de certification pour le dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-file, repo-s3-ca-file
Option de chemin du certificat CA TLS pour le dépôt (--repo-storage-ca-path)
Chemin du certificat d’autorité de certification du dépôt.
Utilisez un chemin de certificat d’autorité de certification (CA) autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-path, repo-s3-ca-path
Option hôte de stockage du dépôt (--repo-storage-host)
Hôte de stockage du dépôt.
Se connecter à un hôte autre que le point de terminaison de stockage (par exemple S3, Azure). Cela est généralement utilisé pour les tests.
Noms obsolètes : repo-azure-host, repo-s3-host
Option de port du stockage du dépôt (--repo-storage-port)
Port du stockage du dépôt.
Port à utiliser lors de la connexion au point de terminaison du stockage (par exemple S3, Azure) ou à l’hôte (le cas échéant).
Noms obsolètes : repo-azure-port, repo-s3-port
Option d’étiquette de stockage du dépôt (--repo-storage-tag)
Étiquette(s) de stockage du dépôt.
Spécifiez les balises à ajouter aux objets lorsque le dépôt est un magasin d’objets (par exemple, S3). L’option peut être répétée pour ajouter plusieurs balises.
Il n’existe aucune fonctionnalité dans pgBackRest permettant de modifier ces balises ; veillez donc à les définir correctement avant d’exécuter stanza-create afin d’assurer une cohérence des balises dans l’ensemble du dépôt.
Option de taille de morceau de chargement du dépôt (--repo-storage-upload-chunk-size)
Taille du morceau de chargement du dépôt.
Les magasins d’objets tels que S3 permettent de télécharger des fichiers par morceaux lorsque le fichier est trop volumineux pour être stocké en mémoire. Même si le fichier peut être stocké en mémoire, il est plus efficace en mémoire de limiter la quantité de mémoire utilisée pour les téléchargements.
Une taille de morceau plus élevée entraîne généralement de meilleures performances, car elle réduit le nombre de requêtes de téléchargement et permet de télécharger plus de fichiers en une seule requête plutôt qu’en morceaux. Le désavantage est que la consommation mémoire sera plus élevée, et comme la mémoire tampon de morceau doit être allouée par processus, des valeurs plus élevées de process-max entraînent une consommation mémoire globale plus importante.
Notez que les tailles de morceau valides varient selon le type de stockage et la plateforme. Par exemple, AWS S3 impose une taille minimale de morceau de 5MiB. La terminologie relative à la taille du morceau varie selon le type de stockage ; utilisez donc « part size » pour AWS S3, « chunk size » pour GCS et « block size » pour Azure lorsque vous recherchez les valeurs minimales ou maximales.
Si un fichier est plus grand que 1GiB (la taille maximale que PostgreSQL crée par défaut), la taille de tranche sera augmentée progressivement jusqu’à la valeur maximale autorisée afin de terminer le téléchargement du fichier.
Option de vérification du certificat de stockage du dépôt (--repo-storage-verify-tls)
Vérification du certificat du dépôt de stockage.
Cette option permet d’activer/désactiver la vérification du certificat TLS du serveur de stockage (par exemple, S3, Azure). La désactivation ne doit être utilisée que pour des tests ou d’autres scénarios où un certificat a été auto-signé.
Noms obsolètes : repo-azure-verify-tls, repo-s3-verify-ssl, repo-s3-verify-tls
Heure cible pour l’option dépôt (--repo-target-time)
Heure cible pour le dépôt.
Le temps cible définit l’instant auquel les commandes lisent un dépôt sur un stockage versionné. Cela permet à la commande de lire le dépôt tel qu’il était à un instant donné, afin de récupérer des données supprimées ou corrompues par une erreur utilisateur ou un logiciel malveillant.
Le stockage versionné est pris en charge par S3, GCS et Azure, mais il est généralement désactivé par défaut. En plus d’activer la versioning, il peut être utile d’activer le verrouillage d’objets pour S3, ou la suppression progressive pour GCS ou Azure.
Lorsque l’option repo-target-time est spécifiée, l’option repo doit également être fournie. Il est probable que tous les types de dépôt ne prennent pas en charge la versionning, et il est généralement préférable de cibler un seul dépôt pour la récupération.
Notez que les comparaisons avec l’horodatage de stockage sont <= à l’horodatage fourni et que les millisecondes sont tronquées de l’horodatage lorsqu’elles sont fournies.
Option de type de dépôt (--repo-type)
Type de stockage utilisé pour le dépôt.
Les types de dépôt suivants sont pris en charge :
azure- Service de stockage Blob Azurecifs- Commeposix, mais désactive les liens et les fsyncs de répertoiregcs- Google Cloud Storageposix- Systèmes de fichiers conformes à Posixs3- AWS Simple Storage Servicesftp- Protocole de transfert de fichiers sécurisé
Lorsqu’un montage NFS est utilisé comme dépôt posix, les mêmes règles s’appliquent à pgBackRest qu’indiquées dans la documentation PostgreSQL : Création d’un cluster de base de données - Systèmes de fichiers
.
Options de stanza
Option Chemin PostgreSQL (--pg-path)
Répertoire de données PostgreSQL.
Il doit être identique à la valeur data_directory rapportée par PostgreSQL. Même si cette valeur peut être lue à divers endroits, il est prudent de la définir afin de garantir sa disponibilité en cas de restauration ou de sauvegarde hors ligne.
L’option pg-path est vérifiée par rapport à la valeur rapportée par PostgreSQL à chaque sauvegarde en ligne, elle doit donc toujours être à jour.
Nom obsolète : db-path
4.3 - Commande de poussée d'archive (archive-push)
archive-push.Accepte un segment WAL de PostgreSQL et l’archive dans chaque dépôt défini par l’option indexée repo-path (voir la section Repository
pour obtenir des informations sur la configuration des dépôts). Le segment WAL peut être envoyé immédiatement à l’archive ou stocké localement, selon la valeur de archive-async. En cas de configuration de plusieurs dépôts, archive-push tentera d’envoyer à autant de dépôts que possible.
Le archive-push est destiné à être configuré et appelé par PostgreSQL. Voir Configurer la sauvegarde d’archive
pour un exemple.
Options de commande
Option d’archivage asynchrone (--archive-async)
Envoyer/récupérer les segments WAL de manière asynchrone.
Active l’exécution asynchrone pour les commandes archive-push et archive-get.
L’opération asynchrone est plus efficace car elle permet de réutiliser les connexions et de tirer parti de la parallélisation. Consultez les options spool-path, archive-get-queue-max et archive-push-queue-max pour plus d’informations.
Option de vérification de l’archive (--archive-check)
Vérifiez que les segments WAL sont présents dans l’archive avant la fin de la sauvegarde.
Vérifie que tous les segments WAL nécessaires pour rendre la sauvegarde cohérente sont présents dans l’archive WAL. Il est recommandé de laisser cette option par défaut, sauf si vous utilisez une autre méthode d’archivage.
Cette option doit être activée si archive-copy est activé.
Vérifier l’option Mode archive (--archive-mode-check)
Vérifiez le paramètre PostgreSQL archive_mode.
Activé par défaut, cette option interdit PostgreSQL archive_mode=always.
Les segments WAL poussés depuis un serveur de secours peuvent être logiquement identiques aux segments WAL poussés depuis le principal, mais présenter des sommes de contrôle différentes. Il est recommandé de désactiver l’archivage depuis plusieurs sources afin d’éviter les conflits.
AVERTISSEMENT :
Si cette option est désactivée, il est essentiel de s’assurer qu’un seul archivage écrit dans le dépôt via la commande archive-push.
Option taille lot de poussée d’archive (--archive-push-batch-size)
Quantité maximale de WAL à transférer par exécution asynchrone.
En mode asynchrone, le processus archive-push transmet tous les segments WAL prêts en une seule exécution. Comme archive-push-queue-max n’est vérifié qu’au début de chaque exécution, une exécution traitant un très grand nombre de segments peut faire croître la file d’attente bien au-delà de la limite avant qu’elle ne soit à nouveau vérifiée.
Cette option limite la quantité de WAL traitée par exécution, afin que le processus se termine et soit relancé par le prochain archive-push, qui vérifie à nouveau la file d’attente. Des valeurs plus faibles entraînent une vérification plus fréquente de la file d’attente, au prix d’un démarrage plus fréquent du processus asynchrone. La valeur est arrondie vers le bas à un nombre entier de segments WAL, mais au moins un segment est toujours traité.
Taille maximale de la file d’attente d’archivage en écriture (--archive-push-queue-max)
Taille maximale de la file d’attente d’archive PostgreSQL.
Une fois la limite atteinte, les actions suivantes se produiront :
- pgBackRest notifiera PostgreSQL que le WAL a été correctement archivé, puis LE SUPPRIMERA.
- Un avertissement sera affiché dans le journal de PostgreSQL.
Si cela se produit, le flux des journaux d’archive sera interrompu et la restauration à un point précis (PITR) ne sera plus possible au-delà de ce point. Une nouvelle sauvegarde sera nécessaire pour rétablir la capacité de restauration complète.
En mode asynchrone, toute la file d’attente sera supprimée afin d’éviter que des segments de WAL ne passent avant que la limite de file ne soit à nouveau dépassée.
En mode asynchrone, cette limite n’est vérifiée qu’au démarrage de chaque exécution de archive-push, de sorte que la file d’attente puisse dépasser cette limite au cours d’une même exécution. Réduisez archive-push-batch-size afin de vérifier la file d’attente plus fréquemment.
Ce mécanisme a pour but d’éviter que le volume de journalisation ne soit saturé, ce qui fermerait complètement PostgreSQL. Il est préférable de perdre une sauvegarde que de faire tomber PostgreSQL.
Nom obsolète : archive-queue-max
Option délai d’archivage (--archive-timeout)
Délai d’attente de l’archive.
Définir le délai maximal, en secondes, d’attente pour chaque segment WAL afin qu’il atteigne le dépôt d’archive pgBackRest. Ce délai s’applique aux commandes check et backup lors de l’attente des segments WAL nécessaires à la cohérence de la sauvegarde.
Options générales
Autoriser l’exécution en tant qu’utilisateur root (--allow-root)
Permettre à la commande de s’exécuter en tant qu’utilisateur root.
Par défaut, seul la commande restore peut être exécutée en tant qu’utilisateur root, car elle est conçue pour gérer soigneusement les propriétés des fichiers. Exécuter d’autres commandes en tant que root risque de créer des fichiers (par exemple dans le dépôt) dont le propriétaire est root, rendant ces fichiers inaccessibles à l’utilisateur PostgreSQL, ce qui entraîne l’échec des commandes ultérieures.
Activez cette option pour exécuter une commande en tant qu’utilisateur root malgré tout. Toutefois, il est bien préférable d’exécuter pgBackRest en tant qu’utilisateur propriétaire du dépôt et du cluster PostgreSQL.
Option Taille tampon (--buffer-size)
Taille du tampon pour les opérations d’E/S.
Taille de tampon utilisée pour les opérations de copie, de compression, de chiffrement et autres. Le nombre de tampons utilisés dépend des options, et chaque opération peut utiliser une mémoire supplémentaire, par exemple, la compression gz peut utiliser jusqu’à 256KiB de mémoire supplémentaire.
Les valeurs autorisées sont 16KiB, 32KiB, 64KiB, 128KiB, 256KiB, 512KiB, 1MiB, 2MiB, 4MiB, 8MiB et 16MiB.
Option de commande pgBackRest (--cmd)
Commande pgBackRest.
pgBackRest peut générer une chaîne de commande, par exemple lorsque la commande restore génère le paramètre restore_command. Dans ce cas, la commande utilisée pour exécuter le processus pgBackRest sera employée, sauf si l’option cmd est fournie.
AVERTISSEMENT :
Envelopper la commande pgBackRest peut entraîner un comportement imprévisible et n’est pas recommandé.
Option de commande client SSH (--cmd-ssh)
Commande cliente SSH.
Utilisez une commande cliente SSH spécifique lorsque vous souhaitez utiliser une alternative ou que la commande ssh n’est pas disponible dans $PATH.
Option de compression (--compress)
Utilisez la compression des 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.
Option niveau de compression (--compress-level)
Niveau de compression du fichier.
Définit le niveau à utiliser pour la compression des fichiers lorsque compress-type est différent de none ou compress=y (obsolète).
Option niveau de compression réseau (--compress-level-network)
Niveau de compression du réseau.
Définit le niveau de compression réseau lorsque compress-type=none et la commande ne sont pas exécutées sur le même hôte que le dépôt. La compression est utilisée pour réduire le trafic réseau. Lorsque compress-type est différent de none, le paramètre compress-level-network est ignoré et compress-level est utilisé à la place, afin que le fichier ne soit compressé qu’une seule fois.
Option de type de compression (--compress-type)
Type de compression des fichiers.
Les types de compression suivants sont pris en charge :
none- pas de compressionbz2- format de compression bzip2gz- format de compression gziplz4- format de compression lz4 (non disponible sur toutes les plates-formes)zst- format de compression Zstandard (non disponible sur toutes les plates-formes)
Option de configuration (--config)
Fichier de configuration pgBackRest.
Utilisez cette option pour spécifier un fichier de configuration différent du fichier par défaut.
Option Chemin d’inclusion de configuration (--config-include-path)
Chemin vers les fichiers de configuration supplémentaires de pgBackRest.
Les fichiers de configuration se trouvant dans l’emplacement spécifié et ayant l’extension .conf seront concaténés au fichier de configuration de pgBackRest, ce qui donne un seul fichier de configuration.
Option de chemin de configuration (--config-path)
Chemin de base des fichiers de configuration de pgBackRest.
Ce paramètre est utilisé pour remplacer le chemin de base par défaut pour les options --config et --config-include-path, sauf si ces dernières sont explicitement définies en ligne de commande.
Par exemple, passer uniquement --config-path=/conf/pgbackrest fait que la valeur par défaut de --config est définie à /conf/pgbackrest/pgbackrest.conf et que la valeur par défaut de --config-include-path est définie à /conf/pgbackrest/conf.d.
Option d’expiration I/O (--io-timeout)
Délai d’attente d’E/S dépassé.
Délai d’attente, en secondes, utilisé pour les connexions et les opérations de lecture/écriture.
Notez que l’opération de lecture/écriture entière n’a pas besoin de se terminer dans ce délai d’attente, mais une certaine progression doit être réalisée, même si elle ne concerne qu’un seul octet.
Option Chemin verrou (--lock-path)
Chemin où les fichiers verrou sont stockés.
Le chemin de verrouillage fournit un emplacement où pgBackRest peut créer des fichiers de verrouillage afin d’empêcher l’exécution simultanée d’opérations en conflit.
Option de masque neutre (--neutral-umask)
Utilisez un umask neutre.
Définit le umask à 0000 afin que les modes du dépôt soient créés de manière cohérente. Le mode par défaut du répertoire est 0750 et le mode par défaut du fichier est 0640.
Pour utiliser le umask de l’utilisateur en cours, spécifiez neutral-umask=n dans le fichier de configuration ou --no-neutral-umask en ligne de commande.
Définir l’option de priorité du processus (--priority)
Définir la priorité du processus.
Définit la priorité (c’est-à-dire la valeur de niceness) accordée au processus par l’ordonnanceur du noyau. Les valeurs positives réduisent la priorité, tandis que les valeurs négatives l’augmentent. Dans la plupart des cas, les processus ne disposent pas des autorisations nécessaires pour augmenter leur priorité.
Option de processus maximum (--process-max)
Nombre maximal de processus à utiliser pour la compression ou le transfert.
Chaque processus effectuera une compression et un transfert afin d’accélérer l’exécution de la commande, mais ne définissez pas process-max trop élevé afin de ne pas affecter les performances de la base de données.
Option délai d’attente du protocole (--protocol-timeout)
Délai d’attente du protocole.
Définit le délai d’attente, en secondes, durant lequel le processus local ou distant attend qu’un nouveau message soit reçu au niveau du protocole. Cela empêche les processus de rester bloqués indéfiniment en attente d’un message.
NOTE : L’option
protocol-timeoutdoit être supérieure à l’optiondb-timeout.
Option Keep Alive (--sck-keep-alive)
Activation du keep-alive.
Active les messages keep-alive sur les connexions socket.
Option Chemin de répertoire d’attente (--spool-path)
Chemin où les données transitoires sont stockées.
Ce chemin est utilisé pour stocker les données de la commande asynchrone archive-push et archive-get.
La commande asynchrone archive-push écrit des accusés de réception dans le répertoire de spool après avoir correctement stocké le WAL dans l’archive, ou une erreur en cas d’échec, afin que le processus au premier plan puisse informer rapidement PostgreSQL. Ces fichiers sont très petits : vides en cas de succès et de quelques centaines d’octets en cas d’erreur.
La commande asynchrone archive-get met en file d’attente les fichiers WAL dans le répertoire de stockage provisoire afin de pouvoir les fournir très rapidement lorsque PostgreSQL les demande. Le déplacement des fichiers vers PostgreSQL est le plus efficace lorsque le répertoire de stockage provisoire se trouve sur le même système de fichiers que pg_xlog/pg_wal. Toutefois, il n’est pas recommandé de placer le répertoire de stockage provisoire à l’intérieur du répertoire pg_xlog/pg_wal, car cela pourrait entraîner des problèmes pour les utilitaires PostgreSQL tels que pg_rewind.
Les données stockées dans le chemin d’attente ne sont pas strictement temporaires, car elles peuvent et doivent survivre à un redémarrage. Toutefois, leur perte n’est pas problématique. pgBackRest vérifiera simplement chaque segment WAL afin de s’assurer qu’il est correctement archivé pour archive-push et reconstruira la file d’attente pour archive-get.
Le chemin d’attente doit ê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.
Option stanza (--stanza)
Définit la stanza.
Une stanza est la configuration d’un cluster de base de données PostgreSQL qui définit son emplacement, la manière dont il sera sauvegardé, les options d’archivage, etc. La plupart des serveurs de base de données n’ont qu’un seul cluster PostgreSQL et donc une seule stanza, tandis que les serveurs de sauvegarde ont une stanza pour chaque cluster de base de données à sauvegarder.
Il est tentant de nommer la stanza en fonction du cluster principal, mais un nom plus pertinent décrit les bases de données contenues dans le cluster. Étant donné que le nom de la stanza sera utilisé pour le principal et toutes les répliques, il est préférable de choisir un nom qui décrit la fonction réelle du cluster, par exemple app ou dw, plutôt que le nom local du cluster, comme main ou prod.
Option de nombre de connexions Keep Alive (--tcp-keep-alive-count)
Nombre de maintien de connexion.
Spécifie le nombre de messages TCP keep-alive pouvant être perdus avant que la connexion ne soit considérée comme inactive.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPCNT.
Option d’idle Keep Alive (--tcp-keep-alive-idle)
Délai d’inactivité pour la maintien de la connexion.
Spécifie la durée (en secondes) pendant laquelle aucune activité réseau ne se produit, après laquelle le système d’exploitation doit envoyer un message de maintien de connexion TCP.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPIDLE.
Option Intervalle Keep Alive (--tcp-keep-alive-interval)
Intervalle de temps pour la maintien de la connexion active.
Spécifie la durée (en secondes) après laquelle un message TCP keep-alive non reconnu doit être renvoyé.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPINTVL.
Suites de chiffrement TLSv1.2 Option (--tls-cipher-12)
Suites de chiffrement TLSv1.2 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. L’exemple proposé constitue un choix raisonnable sauf si des exigences de sécurité spécifiques s’appliquent. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Suites de chiffrement TLSv1.3 Option (--tls-cipher-13)
Suites de chiffrement TLSv1.3 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Options de journalisation
Niveau de journalisation de la console (--log-level-console)
Niveau de journalisation pour la console.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation du fichier (--log-level-file)
Niveau de journalisation des fichiers.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation des erreurs standard (--log-level-stderr)
Niveau de journalisation pour stderr.
Spécifie les niveaux de journalisation qui seront envoyés vers stderr plutôt que vers stdout (spécifié par log-level-console). L’horodatage et le processus ne seront pas envoyés vers stderr.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Option Chemin Journal (--log-path)
Chemin où les fichiers de journalisation sont stockés.
Le chemin de journalisation fournit un emplacement où pgBackRest peut stocker les fichiers de journalisation. Notez que si log-level-file=off, aucun chemin de journalisation n’est requis.
Option de journalisation des sous-processus (--log-subprocess)
Activer la journalisation dans les sous-processus.
Activez la journalisation des fichiers pour tout sous-processus créé par ce processus, en utilisant le niveau de journalisation spécifié par log-level-file.
Option de timestamp de journal (--log-timestamp)
Activer les horodatages dans la journalisation.
Active l’horodatage dans la journalisation console et fichier. Cette option est désactivée dans des situations spéciales, telles que la génération de documentation.
Options du mainteneur
Option de vérification des en-têtes WAL (--archive-header-check)
Vérifier la version/id de PostgreSQL dans les en-têtes WAL.
Activé par défaut, cette option vérifie l’en-tête WAL contre la version de PostgreSQL et l’identifiant système afin de s’assurer que le WAL est copié dans la bonne stanza. Cela s’ajoute à la vérification de pg_control par rapport à la stanza et à la vérification que le WAL est copié à partir du même répertoire de données PostgreSQL où se trouve pg_control.
Par conséquent, désactiver cette vérification est relativement sûr, mais ne doit être effectué que lorsqu’il est nécessaire, par exemple si le WAL est chiffré.
Option de version PostgreSQL obligatoire (--pg-version-force)
Forcer la version de PostgreSQL.
La version de PostgreSQL spécifiée sera utilisée à la place de la version détectée automatiquement en lisant pg_control ou les en-têtes WAL. Cela est principalement utile pour les forks de PostgreSQL ou les versions de développement où ces valeurs diffèrent de la version de publication. La version rapportée par PostgreSQL via server_version_num doit correspondre à la version forcée.
AVERTISSEMENT :
Faites preuve de prudence en utilisant cette option, car pg_control et les en-têtes WAL seront toujours lus selon le format attendu pour la version spécifiée, c’est-à-dire le format issu de la version open-source officielle de PostgreSQL. Si la version fork ou développée modifie le format des champs sur lesquels pgBackRest dépend, cela entraînera un comportement imprévu. En général, cette option ne fonctionnera correctement que si le fork ajoute tous les membres de structure personnalisés après les membres standard de PostgreSQL.
Options du dépôt
Option de conteneur de dépôt Azure (--repo-azure-container)
Conteneur de dépôt Azure.
Conteneur Azure utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés dans la racine du conteneur en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par Azure dans le conteneur.
Type de clé du dépôt Azure (--repo-azure-key-type)
Type de clé du dépôt Azure.
Les types suivants sont pris en charge pour l’autorisation :
shared- Clé partagéesas- Signature d’accès partagéauto- Autorisation automatique à l’aide d’identités managées Azure
Option de style d’URI de dépôt Azure (--repo-azure-uri-style)
Style URI Azure.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôteaccount.endpoint.path- Se connecter à l’hôteendpointet préfixer le compte aux URI.
Type de chiffrement du dépôt (--repo-cipher-type)
Chiffrement 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 longueur de clé de 256 bits
Notez que le chiffrement est toujours effectué côté client, même si le type de dépôt (par exemple S3) prend en charge le chiffrement.
Option de bac de dépôt GCS (--repo-gcs-bucket)
Dépôt de bucket GCS.
Dépôt GCS utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par GCS dans le bucket.
Option de point de terminaison du dépôt GCS (--repo-gcs-endpoint)
Point de terminaison du dépôt GCS.
Point d’accès utilisé pour se connecter au service de stockage. Peut être mis à jour pour utiliser un serveur local GCS ou un point d’accès alternatif.
Type de clé du dépôt GCS (--repo-gcs-key-type)
Type de clé du dépôt GCS.
Les types suivants sont pris en charge pour l’autorisation :
auto- Autoriser à l’aide du compte de service de l’instance.service- Compte de service à partir d’une clé stockée localement.token- À utiliser pour les tests locaux, par exemplefakegcs.
Lorsque repo-gcs-key-type=service, les identifiants seront rechargés lorsque le jeton d’authentification sera renouvelé.
Option ID du projet du dépôt GCS (--repo-gcs-user-project)
Identifiant du projet GCS.
ID du projet GCS utilisé pour déterminer la facturation des requêtes.
Option hôte du dépôt (--repo-host)
Hôte du dépôt lors de l’opération à distance.
Lors de la sauvegarde et de l’archivage vers un système de fichiers monté localement, ce paramètre n’est pas requis.
Nom obsolète : backup-host
Option du fichier de l’autorité de certification hôte du dépôt (--repo-host-ca-file)
Fichier de l’autorité de certification du serveur de dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour vous connecter à l’hôte du dépôt.
Option Chemin de l’autorité de certification du dépôt (--repo-host-ca-path)
Chemin de l’autorité de certification du serveur de dépôt.
Utilisez un chemin de certificat d’autorité (CA) autre que celui par défaut du système pour établir la connexion avec l’hôte du dépôt.
Option de fichier de certificat d’hôte du dépôt (--repo-host-cert-file)
Fichier de certificat d’hôte du dépôt.
Envoyé à l’hôte du dépôt pour prouver l’identité du client.
Option de commande hôte du dépôt (--repo-host-cmd)
Hôte du dépôt commande pgBackRest.
Requis uniquement si le chemin vers la commande pgBackRest est différent sur les hôtes local et de dépôt. Si non défini, la commande de dépôt sera définie de la même manière que celle de l’hôte local.
Nom obsolète : backup-cmd
Option de configuration de l’hôte du dépôt (--repo-host-config)
Fichier de configuration du serveur de dépôt pgBackRest.
Spécifie l’emplacement du fichier de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le fichier de configuration de l’hôte du dépôt se trouve dans un emplacement différent du fichier de configuration local.
Nom obsolète : sauvegarde-config
Option de chemin d’inclusion de configuration d’hôte de dépôt (--repo-host-config-include-path)
Configuration du serveur de dépôt pgBackRest incluant le chemin.
Définit l’emplacement du chemin d’inclusion de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin d’inclusion de configuration de l’hôte du dépôt est différent du chemin d’inclusion de configuration local.
Chemin de configuration de l’hôte du dépôt (--repo-host-config-path)
Chemin de configuration du serveur de dépôt pgBackRest.
Définit l’emplacement du chemin de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin de configuration de l’hôte du dépôt est différent du chemin de configuration local.
Option de fichier de clé hôte du dépôt (--repo-host-key-file)
Fichier de clé hôte du dépôt.
Vérifie que le certificat client a été envoyé par le propriétaire.
Option de port 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 du serveur du dépôt.
NOTE : Lorsque
repo-host-type=ssh, il n’existe pas de valeur par défaut pourrepo-host-port. Dans ce cas, le port sera celui configuré pour la commande spécifiée parcmd-ssh.
Nom obsolète : backup-ssh-port
Type de protocole d’hôte de dépôt (--repo-host-type)
Type de protocole d’hôte de dépôt.
Les types de protocole suivants sont pris en charge :
ssh- Shell sécurisé.tls- Serveur TLS pgBackRest.
Option d’utilisateur hôte de dépôt (--repo-host-user)
Utilisateur hôte du dépôt lorsque repo-host est défini.
Définit l’utilisateur utilisé pour les opérations sur l’hôte du dépôt. Il est préférable que ce ne soit pas l’utilisateur postgres, mais plutôt un autre utilisateur tel que pgbackrest. Si PostgreSQL s’exécute sur l’hôte du dépôt, l’utilisateur postgres peut être ajouté au groupe pgbackrest afin d’avoir des permissions de lecture sur le dépôt sans pouvoir accidentellement le modifier.
Nom obsolète : backup-user
Option Chemin du dépôt (--repo-path)
Chemin où les sauvegardes et l’archive sont stockées.
Le dépôt est l’emplacement où pgBackRest stocke les sauvegardes et les archives des segments WAL.
Il peut être difficile de prévoir à l’avance l’espace nécessaire. La meilleure approche consiste à effectuer quelques sauvegardes, puis à noter la taille des différents types de sauvegardes (pleines, incrémentielles, différentielles) et à mesurer la quantité de WAL générée par jour. Cela vous donnera une idée générale de l’espace requis, bien que les besoins évoluent probablement au fil du temps avec l’évolution de votre base de données.
Option de bac de dépôt S3 (--repo-s3-bucket)
Dépôt S3.
Dépôt S3 utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par AWS dans le bucket.
Option de point de terminaison du dépôt S3 (--repo-s3-endpoint)
Point de terminaison du dépôt S3.
Le point de terminaison AWS doit être valide pour la région sélectionnée.
Pour les configurations personnalisées ou les tests, les options repo-storage-ca-file, repo-storage-ca-path, repo-storage-host, repo-storage-port, et repo-storage-verify-tls peuvent être utiles.
Type de clé du dépôt S3 (--repo-s3-key-type)
Type de clé pour le dépôt S3.
Les types suivants sont pris en charge :
shared- Clés partagéesauto- Récupérer automatiquement les identifiants temporairesweb-id- Récupérer automatiquement les identifiants d’identité webpod-id- Récupérer automatiquement les identifiants d’identité de pod EKSprocess- Récupérer les identifiants en exécutant un processus
Option ID de clé KMS pour dépôt S3 (--repo-s3-kms-key-id)
Clé KMS du dépôt S3.
Active le chiffrement côté serveur S3 en utilisant la clé du service de gestion des clés AWS spécifiée.
Option de commande du processus d’authentification S3 (--repo-s3-process-cmd)
Commande du processus d’authentification S3.
Commande (et arguments facultatifs) à exécuter pour récupérer les identifiants temporaires S3. Le premier élément de la liste est la commande, les éléments suivants sont passés en tant que paramètres.
Le processus doit produire un JSON contenant les champs AccessKeyId, SecretAccessKey, SessionToken et Expiration. Les identifiants seront automatiquement actualisés avant l’expiration. Voir Process Credential Provider
pour les détails du format.
Option de région du dépôt S3 (--repo-s3-region)
Région du dépôt S3.
La région AWS où le bucket a été créé.
Option Requesteur Payant pour le dépôt S3 (--repo-s3-requester-pays)
Dépôt S3 payeur de la demande.
Active le paiement par le demandeur S3.
Option de rôle du dépôt S3 (--repo-s3-role)
Rôle du dépôt S3.
Le nom du rôle AWS (pas le nom ARN complet) utilisé pour récupérer les identifiants temporaires lorsque repo-s3-key-type=auto.
Option de service de dépôt S3 (--repo-s3-service)
Service de signature S3.
Le service de signature S3 utilisé dans l’authentification SigV4. La valeur par défaut est s3 pour les points d’accès S3 standards. À définir sur s3-outposts lors de l’utilisation d’un point d’accès S3 Outposts.
Option de point de terminaison STS du dépôt S3 (--repo-s3-sts-host)
Point de terminaison STS du dépôt S3.
Point de terminaison STS utilisé pour récupérer des identifiants temporaires lorsque repo-s3-key-type=web-id est configuré. Définissez-le sur un point de terminaison régional (par exemple sts.us-east-1.amazonaws.com) pour utiliser STS régional, ce qui peut être nécessaire pour les régions GovCloud, Chine, ou pour réduire la latence.
Option de style d’URI de dépôt S3 (--repo-s3-uri-style)
Style d’URI S3.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôtebucket.endpoint.path- Se connecter à l’hôteendpointet préfixer les URI par le répertoire.
Option hôte du dépôt SFTP (--repo-sftp-host)
Hôte du dépôt SFTP.
Hôte SFTP contenant le dépôt.
Fingerprint de l’hôte du dépôt SFTP (--repo-sftp-host-fingerprint)
Empreinte du serveur hôte du dépôt SFTP.
La génération de l’empreinte d’hôte du dépôt SFTP doit correspondre à repo-sftp-host-key-hash-type. Générez l’empreinte via awk '{print $2}' ssh_host_xxx_key.pub | base64 -d | (md5sum or sha1sum) -b. Les clés d’hôte SSH se trouvent normalement dans le répertoire /etc/ssh.
Type d’option de vérification de la clé hôte SFTP (--repo-sftp-host-key-check-type)
Type de vérification de la clé hôte SFTP.
Les types de vérification de clé d’hôte SFTP suivants sont pris en charge :
strict- pgBackRest n’ajoutera jamais automatiquement les clés d’hôte au fichier ~/.ssh/known_hosts, et refusera de se connecter aux hôtes dont la clé d’hôte a changé ou n’est pas trouvée dans les fichiers known hosts. Cette option oblige l’utilisateur à ajouter manuellement tous les nouveaux hôtes.accept-new- pgBackRest ajoutera automatiquement les nouvelles clés d’hôte au fichier known hosts de l’utilisateur, mais n’autorisera pas les connexions aux hôtes dont la clé d’hôte a changé.fingerprint- pgBackRest vérifiera la clé d’hôte contre l’empreinte spécifiée par l’optionrepo-sftp-host-fingerprint.none- aucune vérification de clé d’hôte ne sera effectuée.
Type de hachage de la clé hôte du dépôt SFTP (--repo-sftp-host-key-hash-type)
Type de hachage de la clé d’hôte du dépôt SFTP.
Type de hachage de la clé hôte du dépôt SFTP. Déclare le type de hachage à utiliser pour calculer le hachage de la clé hôte du système distant au démarrage SSH. Les versions plus récentes de libssh2 prennent en charge sha256 en plus de md5 et sha1.
Option de port hôte du dépôt SFTP (--repo-sftp-host-port)
Port hôte du dépôt SFTP.
Port hôte du dépôt SFTP.
Option utilisateur hôte dépôt SFTP (--repo-sftp-host-user)
Utilisateur hôte du dépôt SFTP.
Utilisateur sur l’hôte utilisé pour stocker le dépôt.
Option fichier Hôtes SFTP connus (--repo-sftp-known-host)
Fichier d’hôtes SFTP connus.
Fichier known hosts à consulter pour rechercher une correspondance avec un hôte SFTP lors de l’authentification. Si non spécifié, pgBackRest recherchera par défaut dans ~/.ssh/known_hosts, ~/.ssh/known_hosts2, /etc/ssh/ssh_known_hosts et /etc/ssh/ssh_known_hosts2. Si configuré avec un ou plusieurs chemins de fichier, pgBackRest recherchera dans ces fichiers une correspondance. Les chemins de fichier doivent être complets ou commencer par un tilde. L’option repo-sftp-known-host peut être spécifiée plusieurs fois pour indiquer plusieurs fichiers known hosts à consulter. Pour utiliser la vérification du fichier known hosts, l’option repo-sftp-host-fingerprint ne doit pas être définie. Voir également l’option repo-sftp-host-check-type.
Option fichier de clé privée du dépôt SFTP (--repo-sftp-private-key-file)
Fichier de clé privée SFTP.
Fichier de clé privée SFTP utilisé pour l’authentification.
Option de fichier de clé publique du dépôt SFTP (--repo-sftp-public-key-file)
Fichier de clé publique SFTP.
Fichier de clé publique SFTP utilisé pour l’authentification. Facultatif si compilé contre OpenSSL, obligatoire si compilé contre une autre bibliothèque.
Option du fichier CA du dépôt de stockage (--repo-storage-ca-file)
Fichier de certificat d’autorité de certification pour le dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-file, repo-s3-ca-file
Option de chemin du certificat CA TLS pour le dépôt (--repo-storage-ca-path)
Chemin du certificat d’autorité de certification du dépôt.
Utilisez un chemin de certificat d’autorité de certification (CA) autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-path, repo-s3-ca-path
Option hôte de stockage du dépôt (--repo-storage-host)
Hôte de stockage du dépôt.
Se connecter à un hôte autre que le point de terminaison de stockage (par exemple S3, Azure). Cela est généralement utilisé pour les tests.
Noms obsolètes : repo-azure-host, repo-s3-host
Option de port du stockage du dépôt (--repo-storage-port)
Port du stockage du dépôt.
Port à utiliser lors de la connexion au point de terminaison du stockage (par exemple S3, Azure) ou à l’hôte (le cas échéant).
Noms obsolètes : repo-azure-port, repo-s3-port
Option d’étiquette de stockage du dépôt (--repo-storage-tag)
Étiquette(s) de stockage du dépôt.
Spécifiez les balises à ajouter aux objets lorsque le dépôt est un magasin d’objets (par exemple, S3). L’option peut être répétée pour ajouter plusieurs balises.
Il n’existe aucune fonctionnalité dans pgBackRest permettant de modifier ces balises ; veillez donc à les définir correctement avant d’exécuter stanza-create afin d’assurer une cohérence des balises dans l’ensemble du dépôt.
Option de taille de morceau de chargement du dépôt (--repo-storage-upload-chunk-size)
Taille du morceau de chargement du dépôt.
Les magasins d’objets tels que S3 permettent de télécharger des fichiers par morceaux lorsque le fichier est trop volumineux pour être stocké en mémoire. Même si le fichier peut être stocké en mémoire, il est plus efficace en mémoire de limiter la quantité de mémoire utilisée pour les téléchargements.
Une taille de morceau plus élevée entraîne généralement de meilleures performances, car elle réduit le nombre de requêtes de téléchargement et permet de télécharger plus de fichiers en une seule requête plutôt qu’en morceaux. Le désavantage est que la consommation mémoire sera plus élevée, et comme la mémoire tampon de morceau doit être allouée par processus, des valeurs plus élevées de process-max entraînent une consommation mémoire globale plus importante.
Notez que les tailles de morceau valides varient selon le type de stockage et la plateforme. Par exemple, AWS S3 impose une taille minimale de morceau de 5MiB. La terminologie relative à la taille du morceau varie selon le type de stockage ; utilisez donc « part size » pour AWS S3, « chunk size » pour GCS et « block size » pour Azure lorsque vous recherchez les valeurs minimales ou maximales.
Si un fichier est plus grand que 1GiB (la taille maximale que PostgreSQL crée par défaut), la taille de tranche sera augmentée progressivement jusqu’à la valeur maximale autorisée afin de terminer le téléchargement du fichier.
Option de vérification du certificat de stockage du dépôt (--repo-storage-verify-tls)
Vérification du certificat du dépôt de stockage.
Cette option permet d’activer/désactiver la vérification du certificat TLS du serveur de stockage (par exemple, S3, Azure). La désactivation ne doit être utilisée que pour des tests ou d’autres scénarios où un certificat a été auto-signé.
Noms obsolètes : repo-azure-verify-tls, repo-s3-verify-ssl, repo-s3-verify-tls
Option de type de dépôt (--repo-type)
Type de stockage utilisé pour le dépôt.
Les types de dépôt suivants sont pris en charge :
azure- Service de stockage Blob Azurecifs- Commeposix, mais désactive les liens et les fsyncs de répertoiregcs- Google Cloud Storageposix- Systèmes de fichiers conformes à Posixs3- AWS Simple Storage Servicesftp- Protocole de transfert de fichiers sécurisé
Lorsqu’un montage NFS est utilisé comme dépôt posix, les mêmes règles s’appliquent à pgBackRest qu’indiquées dans la documentation PostgreSQL : Création d’un cluster de base de données - Systèmes de fichiers
.
Options de stanza
Option Chemin PostgreSQL (--pg-path)
Répertoire de données PostgreSQL.
Il doit être identique à la valeur data_directory rapportée par PostgreSQL. Même si cette valeur peut être lue à divers endroits, il est prudent de la définir afin de garantir sa disponibilité en cas de restauration ou de sauvegarde hors ligne.
L’option pg-path est vérifiée par rapport à la valeur rapportée par PostgreSQL à chaque sauvegarde en ligne, elle doit donc toujours être à jour.
Nom obsolète : db-path
4.4 - Commande de sauvegarde (backup)
backup.Lorsque plusieurs dépôts sont configurés, pgBackRest effectuera la sauvegarde vers le dépôt de priorité la plus élevée (par exemple repo1) sauf si l’option --repo est spécifiée.
pgBackRest ne dispose pas de planificateur intégré, il est donc préférable de l’exécuter depuis cron ou un autre mécanisme de planification.
Consultez Effectuer une sauvegarde pour plus de détails et d’exemples.
Options de commande
Option d’annotation de sauvegarde (--annotation)
Ajoutez des paires clé/valeur définies par l’utilisateur à la sauvegarde.
Les utilisateurs peuvent attacher des paires clé/valeur explicatives à la sauvegarde. Cette option peut être utilisée plusieurs fois pour attacher plusieurs annotations.
Les annotations sont produites par la sortie texte de la commande info lorsque une sauvegarde est spécifiée avec --set, et apparaissent toujours dans la sortie JSON.
Option de vérification de l’archive (--archive-check)
Vérifiez que les segments WAL sont présents dans l’archive avant la fin de la sauvegarde.
Vérifie que tous les segments WAL nécessaires pour rendre la sauvegarde cohérente sont présents dans l’archive WAL. Il est recommandé de laisser cette option par défaut, sauf si vous utilisez une autre méthode d’archivage.
Cette option doit être activée si archive-copy est activé.
Option de copie d’archive (--archive-copy)
Copiez les segments WAL nécessaires à la cohérence vers la sauvegarde.
Cette option, légèrement paranoïaque, protège contre les corruption dans l’archive des segments WAL en stockant directement dans la sauvegarde les segments WAL nécessaires à la cohérence. Les segments WAL sont toujours stockés dans l’archive, donc cette option utilise un espace supplémentaire.
Il est préférable que les commandes archive-push et backup utilisent le même compress-type (par exemple lz4) lors de l’utilisation de cette option. Sinon, les segments WAL devront être récompressés avec le compress-type utilisé par la sauvegarde, ce qui peut s’avérer assez coûteux selon la quantité de WAL générée pendant la sauvegarde.
Lors d’une restauration, les segments WAL seront présents dans pg_xlog/pg_wal et PostgreSQL les utilisera en priorité plutôt que d’appeler restore_command.
L’option archive-check doit être activée si archive-copy est activé.
Vérifier l’option Mode archive (--archive-mode-check)
Vérifiez le paramètre PostgreSQL archive_mode.
Activé par défaut, cette option interdit PostgreSQL archive_mode=always.
Les segments WAL poussés depuis un serveur de secours peuvent être logiquement identiques aux segments WAL poussés depuis le principal, mais présenter des sommes de contrôle différentes. Il est recommandé de désactiver l’archivage depuis plusieurs sources afin d’éviter les conflits.
AVERTISSEMENT :
Si cette option est désactivée, il est essentiel de s’assurer qu’un seul archivage écrit dans le dépôt via la commande archive-push.
Option délai d’archivage (--archive-timeout)
Délai d’attente de l’archive.
Définir le délai maximal, en secondes, d’attente pour chaque segment WAL afin qu’il atteigne le dépôt d’archive pgBackRest. Ce délai s’applique aux commandes check et backup lors de l’attente des segments WAL nécessaires à la cohérence de la sauvegarde.
Option de sauvegarde depuis une instance de secours (--backup-standby)
Sauvegarde à partir du cluster de secours.
Activez la sauvegarde depuis le serveur de secours afin de réduire la charge sur le cluster principal. Cette option nécessite que les hôtes principal et de secours soient configurés.
Les modes suivants sont pris en charge :
y- un serveur standby est obligatoire pour la sauvegarde.prefer- effectuer la sauvegarde depuis le serveur standby s’il est disponible, sinon depuis le primaire.n- effectuer la sauvegarde uniquement depuis le primaire.
Option sommes de contrôle (--checksum-page)
Valider les sommes de contrôle des pages de données.
Active la validation de toutes les sommes de contrôle des pages de données lors de la sauvegarde d’un cluster. Cette option est activée automatiquement lorsque les sommes de contrôle des pages de données sont activées sur le cluster.
Les échecs de validation de la somme de contrôle n’interrompent pas une sauvegarde. En revanche, des avertissements sont émis dans le journal (et sur la console avec les paramètres par défaut) et la liste des pages invalides est stockée dans le manifeste de sauvegarde.
Option d’exclusion de chemins/fichiers (--exclude)
Exclure les chemins ou fichiers de la sauvegarde.
Toutes les exclusions sont relatives à $PGDATA. Si l’exclusion se termine par /, seuls les fichiers du répertoire spécifié seront exclus, par exemple --exclude=junk/ exclura tous les fichiers du répertoire $PGDATA/junk tout en conservant le répertoire lui-même. Si l’exclusion ne se termine pas par /, le fichier peut correspondre exactement à l’exclusion ou correspondre à l’exclusion suivie de /, par exemple --exclude=junk exclura le répertoire $PGDATA/junk ainsi que tous les fichiers qu’il contient.
Faites attention à utiliser cette fonctionnalité — il est très facile d’exclure quelque chose de crucial qui rendra la sauvegarde inconsistante. Assurez-vous de tester vos restaurations !
Tous les fichiers exclus seront journalisés au niveau info ainsi que la règle d’exclusion. Vérifiez soigneusement la liste des fichiers exclus afin de vous assurer qu’aucun fichier inattendu n’est exclu.
NOTE : Les exclusions ne sont pas prises en compte lors d’une restauration incrémentielle. Tous les fichiers ou répertoires exclus lors de la sauvegarde seront supprimés lors d’une restauration incrémentielle.
Cette option ne doit pas être utilisée pour exclure les journaux PostgreSQL d’une sauvegarde. Les journaux peuvent être déplacés hors du répertoire PGDATA à l’aide de la configuration PostgreSQL log_directory, ce qui permet de conserver les journaux après une restauration.
Plusieurs exclusions peuvent être spécifiées en ligne de commande ou dans un fichier de configuration.
Option d’expiration automatique (--expire-auto)
Exécuter automatiquement la commande expire après une sauvegarde réussie.
L’option est activée par défaut. Faites preuve de prudence en la désactivant, car cela entraînera le maintien indéfini de toutes les sauvegardes et archives, ce qui pourrait faire épuiser l’espace disponible dans le dépôt. La commande expire devra être exécutée régulièrement afin d’éviter ce problème.
Lorsque expire est exécuté automatiquement après une sauvegarde réussie, il utilise la configuration de la commande backup, de sorte que les options définies uniquement dans une section de commande expire (par exemple [global:expire]) ne sont pas prises en compte. Pour appliquer une configuration spécifique à expire, désactivez cette option et exécutez la commande expire séparément.
Option obligatoire (--force)
Forcer une sauvegarde hors ligne.
Lorsqu’il est utilisé avec --no-start-stop, une sauvegarde sera exécutée même si pgBackRest estime que PostgreSQL est en cours d’exécution. Cette option doit être utilisée avec une extrême prudence, car elle risque fortement de produire une sauvegarde corrompue.
Il existe certains scénarios où une sauvegarde peut toutefois être souhaitable dans ces conditions. Par exemple, si un serveur tombe en panne et que le volume du cluster de base de données ne peut être monté qu’en lecture seule, il serait judicieux de réaliser une sauvegarde même si postmaster.pid est présent. Dans ce cas, il serait préférable de revenir à la sauvegarde précédente et de rejouer les WAL, mais il se peut qu’une transaction très importante se trouve dans un segment WAL qui n’a pas été archivé.
Option seuil d’enregistrement du manifeste (--manifest-save-threshold)
Seuil de sauvegarde manifeste pendant la sauvegarde.
Définit la fréquence à laquelle le manifeste sera enregistré pendant une sauvegarde. Enregistrer le manifeste est important car il stocke les sommes de contrôle et permet au fonctionnement de la reprise d’être efficace. La seuil réel utilisé est le plus élevé entre 1 % de la taille de la sauvegarde et manifest-save-threshold.
Option en ligne (--online)
Effectuez une sauvegarde en ligne.
Spécifier –no-online empêche pgBackRest d’exécuter les fonctions de démarrage/arrêt de la sauvegarde sur le cluster de base de données. Pour que cela fonctionne, PostgreSQL doit être arrêté, et pgBackRest générera une erreur si ce n’est pas le cas.
Cette option a pour but de permettre les sauvegardes hors ligne. Le répertoire pg_xlog/pg_wal est copié tel quel et archive-check est automatiquement désactivé pour la sauvegarde.
Option Résumé (--resume)
Permet la reprise d’une sauvegarde interrompue.
Définit si la fonction de reprise est activée. La reprise peut réduire considérablement le temps nécessaire pour exécuter une sauvegarde après un échec précédent de la même nature. Toutefois, elle ajoute de la complexité, aussi peut-il être souhaitable de la désactiver dans les environnements qui n’en ont pas besoin.
Option Démarrage rapide (--start-fast)
Forcer un checkpoint pour démarrer la sauvegarde plus rapidement.
Force un checkpoint (en passant y au paramètre fast de la fonction de démarrage de la sauvegarde) afin que la sauvegarde commence immédiatement. Sinon, la sauvegarde commencera après le prochain checkpoint régulier.
Type Option (--type)
Type de sauvegarde.
Les types de sauvegarde suivants sont pris en charge :
full- tous les fichiers du cluster de base de données seront copiés et aucune dépendance avec les sauvegardes précédentes ne sera requise.incr- sauvegarde incrémentielle à partir de la dernière sauvegarde réussie.diff- semblable à une sauvegarde incrémentielle, mais toujours basée sur la dernière sauvegarde complète.
Options générales
Autoriser l’exécution en tant qu’utilisateur root (--allow-root)
Permettre à la commande de s’exécuter en tant qu’utilisateur root.
Par défaut, seul la commande restore peut être exécutée en tant qu’utilisateur root, car elle est conçue pour gérer soigneusement les propriétés des fichiers. Exécuter d’autres commandes en tant que root risque de créer des fichiers (par exemple dans le dépôt) dont le propriétaire est root, rendant ces fichiers inaccessibles à l’utilisateur PostgreSQL, ce qui entraîne l’échec des commandes ultérieures.
Activez cette option pour exécuter une commande en tant qu’utilisateur root malgré tout. Toutefois, il est bien préférable d’exécuter pgBackRest en tant qu’utilisateur propriétaire du dépôt et du cluster PostgreSQL.
Option Taille tampon (--buffer-size)
Taille du tampon pour les opérations d’E/S.
Taille de tampon utilisée pour les opérations de copie, de compression, de chiffrement et autres. Le nombre de tampons utilisés dépend des options, et chaque opération peut utiliser une mémoire supplémentaire, par exemple, la compression gz peut utiliser jusqu’à 256KiB de mémoire supplémentaire.
Les valeurs autorisées sont 16KiB, 32KiB, 64KiB, 128KiB, 256KiB, 512KiB, 1MiB, 2MiB, 4MiB, 8MiB et 16MiB.
Option de commande pgBackRest (--cmd)
Commande pgBackRest.
pgBackRest peut générer une chaîne de commande, par exemple lorsque la commande restore génère le paramètre restore_command. Dans ce cas, la commande utilisée pour exécuter le processus pgBackRest sera employée, sauf si l’option cmd est fournie.
AVERTISSEMENT :
Envelopper la commande pgBackRest peut entraîner un comportement imprévisible et n’est pas recommandé.
Option de commande client SSH (--cmd-ssh)
Commande cliente SSH.
Utilisez une commande cliente SSH spécifique lorsque vous souhaitez utiliser une alternative ou que la commande ssh n’est pas disponible dans $PATH.
Option de compression (--compress)
Utilisez la compression des 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.
Option niveau de compression (--compress-level)
Niveau de compression du fichier.
Définit le niveau à utiliser pour la compression des fichiers lorsque compress-type est différent de none ou compress=y (obsolète).
Option niveau de compression réseau (--compress-level-network)
Niveau de compression du réseau.
Définit le niveau de compression réseau lorsque compress-type=none et la commande ne sont pas exécutées sur le même hôte que le dépôt. La compression est utilisée pour réduire le trafic réseau. Lorsque compress-type est différent de none, le paramètre compress-level-network est ignoré et compress-level est utilisé à la place, afin que le fichier ne soit compressé qu’une seule fois.
Option de type de compression (--compress-type)
Type de compression des fichiers.
Les types de compression suivants sont pris en charge :
none- pas de compressionbz2- format de compression bzip2gz- format de compression gziplz4- format de compression lz4 (non disponible sur toutes les plates-formes)zst- format de compression Zstandard (non disponible sur toutes les plates-formes)
Option de configuration (--config)
Fichier de configuration pgBackRest.
Utilisez cette option pour spécifier un fichier de configuration différent du fichier par défaut.
Option Chemin d’inclusion de configuration (--config-include-path)
Chemin vers les fichiers de configuration supplémentaires de pgBackRest.
Les fichiers de configuration se trouvant dans l’emplacement spécifié et ayant l’extension .conf seront concaténés au fichier de configuration de pgBackRest, ce qui donne un seul fichier de configuration.
Option de chemin de configuration (--config-path)
Chemin de base des fichiers de configuration de pgBackRest.
Ce paramètre est utilisé pour remplacer le chemin de base par défaut pour les options --config et --config-include-path, sauf si ces dernières sont explicitement définies en ligne de commande.
Par exemple, passer uniquement --config-path=/conf/pgbackrest fait que la valeur par défaut de --config est définie à /conf/pgbackrest/pgbackrest.conf et que la valeur par défaut de --config-include-path est définie à /conf/pgbackrest/conf.d.
Option de délai d’attente de la base de données (--db-timeout)
Délai d’attente dépassé pour la requête de base de données.
Définit le délai d’attente, en secondes, des requêtes effectuées contre la base de données. Cela inclut les fonctions de démarrage et d’arrêt de la sauvegarde, qui peuvent chacune prendre beaucoup de temps. En raison de cela, le délai d’attente doit être maintenu élevé, sauf si vous savez que ces fonctions retourneront rapidement (par exemple, si vous avez défini start-fast=y et que vous savez que le cluster de base de données ne générera pas beaucoup de segments WAL pendant la sauvegarde).
NOTE : L’option
db-timeoutdoit être inférieure à l’optionprotocol-timeout.
Option Delta (--delta)
Restauration ou sauvegarde à l’aide de sommes de contrôle.
Lors d’une restauration, par défaut, les répertoires de données PostgreSQL et les répertoires de tablespace sont supposés exister mais être vides. Cette option effectue une restauration incrémentielle à l’aide des sommes de contrôle.
Pendant une sauvegarde, cette option utilisera les sommes de contrôle au lieu des horodatages pour déterminer si les fichiers seront copiés.
Option d’expiration I/O (--io-timeout)
Délai d’attente d’E/S dépassé.
Délai d’attente, en secondes, utilisé pour les connexions et les opérations de lecture/écriture.
Notez que l’opération de lecture/écriture entière n’a pas besoin de se terminer dans ce délai d’attente, mais une certaine progression doit être réalisée, même si elle ne concerne qu’un seul octet.
Option Chemin verrou (--lock-path)
Chemin où les fichiers verrou sont stockés.
Le chemin de verrouillage fournit un emplacement où pgBackRest peut créer des fichiers de verrouillage afin d’empêcher l’exécution simultanée d’opérations en conflit.
Option de masque neutre (--neutral-umask)
Utilisez un umask neutre.
Définit le umask à 0000 afin que les modes du dépôt soient créés de manière cohérente. Le mode par défaut du répertoire est 0750 et le mode par défaut du fichier est 0640.
Pour utiliser le umask de l’utilisateur en cours, spécifiez neutral-umask=n dans le fichier de configuration ou --no-neutral-umask en ligne de commande.
Définir l’option de priorité du processus (--priority)
Définir la priorité du processus.
Définit la priorité (c’est-à-dire la valeur de niceness) accordée au processus par l’ordonnanceur du noyau. Les valeurs positives réduisent la priorité, tandis que les valeurs négatives l’augmentent. Dans la plupart des cas, les processus ne disposent pas des autorisations nécessaires pour augmenter leur priorité.
Option de processus maximum (--process-max)
Nombre maximal de processus à utiliser pour la compression ou le transfert.
Chaque processus effectuera une compression et un transfert afin d’accélérer l’exécution de la commande, mais ne définissez pas process-max trop élevé afin de ne pas affecter les performances de la base de données.
Option délai d’attente du protocole (--protocol-timeout)
Délai d’attente du protocole.
Définit le délai d’attente, en secondes, durant lequel le processus local ou distant attend qu’un nouveau message soit reçu au niveau du protocole. Cela empêche les processus de rester bloqués indéfiniment en attente d’un message.
NOTE : L’option
protocol-timeoutdoit être supérieure à l’optiondb-timeout.
Option Keep Alive (--sck-keep-alive)
Activation du keep-alive.
Active les messages keep-alive sur les connexions socket.
Option stanza (--stanza)
Définit la stanza.
Une stanza est la configuration d’un cluster de base de données PostgreSQL qui définit son emplacement, la manière dont il sera sauvegardé, les options d’archivage, etc. La plupart des serveurs de base de données n’ont qu’un seul cluster PostgreSQL et donc une seule stanza, tandis que les serveurs de sauvegarde ont une stanza pour chaque cluster de base de données à sauvegarder.
Il est tentant de nommer la stanza en fonction du cluster principal, mais un nom plus pertinent décrit les bases de données contenues dans le cluster. Étant donné que le nom de la stanza sera utilisé pour le principal et toutes les répliques, il est préférable de choisir un nom qui décrit la fonction réelle du cluster, par exemple app ou dw, plutôt que le nom local du cluster, comme main ou prod.
Option de nombre de connexions Keep Alive (--tcp-keep-alive-count)
Nombre de maintien de connexion.
Spécifie le nombre de messages TCP keep-alive pouvant être perdus avant que la connexion ne soit considérée comme inactive.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPCNT.
Option d’idle Keep Alive (--tcp-keep-alive-idle)
Délai d’inactivité pour la maintien de la connexion.
Spécifie la durée (en secondes) pendant laquelle aucune activité réseau ne se produit, après laquelle le système d’exploitation doit envoyer un message de maintien de connexion TCP.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPIDLE.
Option Intervalle Keep Alive (--tcp-keep-alive-interval)
Intervalle de temps pour la maintien de la connexion active.
Spécifie la durée (en secondes) après laquelle un message TCP keep-alive non reconnu doit être renvoyé.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPINTVL.
Suites de chiffrement TLSv1.2 Option (--tls-cipher-12)
Suites de chiffrement TLSv1.2 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. L’exemple proposé constitue un choix raisonnable sauf si des exigences de sécurité spécifiques s’appliquent. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Suites de chiffrement TLSv1.3 Option (--tls-cipher-13)
Suites de chiffrement TLSv1.3 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Options de journalisation
Niveau de journalisation de la console (--log-level-console)
Niveau de journalisation pour la console.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation du fichier (--log-level-file)
Niveau de journalisation des fichiers.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation des erreurs standard (--log-level-stderr)
Niveau de journalisation pour stderr.
Spécifie les niveaux de journalisation qui seront envoyés vers stderr plutôt que vers stdout (spécifié par log-level-console). L’horodatage et le processus ne seront pas envoyés vers stderr.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Option Chemin Journal (--log-path)
Chemin où les fichiers de journalisation sont stockés.
Le chemin de journalisation fournit un emplacement où pgBackRest peut stocker les fichiers de journalisation. Notez que si log-level-file=off, aucun chemin de journalisation n’est requis.
Option de journalisation des sous-processus (--log-subprocess)
Activer la journalisation dans les sous-processus.
Activez la journalisation des fichiers pour tout sous-processus créé par ce processus, en utilisant le niveau de journalisation spécifié par log-level-file.
Option de timestamp de journal (--log-timestamp)
Activer les horodatages dans la journalisation.
Active l’horodatage dans la journalisation console et fichier. Cette option est désactivée dans des situations spéciales, telles que la génération de documentation.
Options du mainteneur
Option de vérification de l’en-tête de page (--page-header-check)
Vérifier les en-têtes de page PostgreSQL.
Activé par défaut, cette option ajoute des vérifications d’en-tête de page.
Cette option doit être désactivée uniquement si nécessaire, par exemple si les pages sont chiffrées.
Option de version PostgreSQL obligatoire (--pg-version-force)
Forcer la version de PostgreSQL.
La version de PostgreSQL spécifiée sera utilisée à la place de la version détectée automatiquement en lisant pg_control ou les en-têtes WAL. Cela est principalement utile pour les forks de PostgreSQL ou les versions de développement où ces valeurs diffèrent de la version de publication. La version rapportée par PostgreSQL via server_version_num doit correspondre à la version forcée.
AVERTISSEMENT :
Faites preuve de prudence en utilisant cette option, car pg_control et les en-têtes WAL seront toujours lus selon le format attendu pour la version spécifiée, c’est-à-dire le format issu de la version open-source officielle de PostgreSQL. Si la version fork ou développée modifie le format des champs sur lesquels pgBackRest dépend, cela entraînera un comportement imprévu. En général, cette option ne fonctionnera correctement que si le fork ajoute tous les membres de structure personnalisés après les membres standard de PostgreSQL.
Options du dépôt
Définir l’option dépôt (--repo)
Définir le dépôt.
Spécifiez le dépôt sur lequel une commande doit s’opérer.
Par exemple, cette option peut être utilisée pour effectuer une restauration à partir d’un dépôt spécifique, plutôt que de laisser pgBackRest choisir.
Option de conteneur de dépôt Azure (--repo-azure-container)
Conteneur de dépôt Azure.
Conteneur Azure utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés dans la racine du conteneur en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par Azure dans le conteneur.
Type de clé du dépôt Azure (--repo-azure-key-type)
Type de clé du dépôt Azure.
Les types suivants sont pris en charge pour l’autorisation :
shared- Clé partagéesas- Signature d’accès partagéauto- Autorisation automatique à l’aide d’identités managées Azure
Option de style d’URI de dépôt Azure (--repo-azure-uri-style)
Style URI Azure.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôteaccount.endpoint.path- Se connecter à l’hôteendpointet préfixer le compte aux URI.
Option de sauvegarde incrémentielle par bloc (--repo-block)
Activez la sauvegarde incrémentielle par bloc.
Le mode incrémentiel par bloc permet des sauvegardes plus granulaires en divisant les fichiers en blocs pouvant être sauvegardés indépendamment. Cela permet d’économiser de l’espace dans le dépôt et peut améliorer les performances de restauration incrémentielle, car des blocs individuels peuvent être récupérés sans devoir lire entièrement le fichier depuis le dépôt.
NOTE : L’option
repo-bundledoit être activée avant querepo-blockne puisse l’être.
La taille des blocs d’un fichier est déterminée en fonction de sa taille et de son âge. En général, les fichiers plus anciens ou plus volumineux reçoivent des tailles de blocs plus grandes. Si un fichier est suffisamment ancien, il ne sera pas sauvegardé en utilisant l’incrémentation par bloc.
La sauvegarde incrémentielle par bloc est optimale lorsqu’elle est activée pour toutes les catégories de sauvegarde, y compris les sauvegardes complètes. Cela rend la sauvegarde complète légèrement plus grande, mais permet aux sauvegardes différentielles et incrémentielles ultérieures d’utiliser les cartes de blocs générées par la sauvegarde complète afin de réduire l’espace utilisé.
Option des paquets de dépôt (--repo-bundle)
Fichier du dépôt regroupés.
Regrouper les petits fichiers afin de réduire le nombre total de fichiers écrits dans le dépôt. Écrire moins de fichiers est généralement plus efficace, en particulier sur les magasins d’objets tels que S3. En outre, les fichiers vides ne sont pas stockés, sauf dans le manifeste, ce qui économise du temps et de l’espace.
Option de limite du bundle de dépôt (--repo-bundle-limit)
Limite pour les paquets de fichiers.
Limite de taille pour les fichiers inclus dans les bundles. Les fichiers dont la taille dépasse cette limite seront stockés séparément.
Les fichiers intégrés ne peuvent pas être réutilisés lors d’une reprise d’une sauvegarde, donc cette option contrôle les fichiers pouvant être repris, c’est-à-dire que des valeurs plus élevées entraînent un nombre réduit de fichiers reprises.
Option taille du bundle de dépôt (--repo-bundle-size)
Taille cible pour les paquets de fichiers.
Définit la taille cible des fichiers ajoutés à un seul lot. La taille du lot non compressé peut atteindre jusqu’à repo-bundle-size + repo-bundle-limit, donc ne définissez pas cette option à la taille maximale autorisée par votre système de fichiers.
En général, il n’est pas recommandé de définir cette option trop élevée, car les réessais devront répéter l’intégralité du lot.
Type de chiffrement du dépôt (--repo-cipher-type)
Chiffrement 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 longueur de clé de 256 bits
Notez que le chiffrement est toujours effectué côté client, même si le type de dépôt (par exemple S3) prend en charge le chiffrement.
Option de bac de dépôt GCS (--repo-gcs-bucket)
Dépôt de bucket GCS.
Dépôt GCS utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par GCS dans le bucket.
Option de point de terminaison du dépôt GCS (--repo-gcs-endpoint)
Point de terminaison du dépôt GCS.
Point d’accès utilisé pour se connecter au service de stockage. Peut être mis à jour pour utiliser un serveur local GCS ou un point d’accès alternatif.
Type de clé du dépôt GCS (--repo-gcs-key-type)
Type de clé du dépôt GCS.
Les types suivants sont pris en charge pour l’autorisation :
auto- Autoriser à l’aide du compte de service de l’instance.service- Compte de service à partir d’une clé stockée localement.token- À utiliser pour les tests locaux, par exemplefakegcs.
Lorsque repo-gcs-key-type=service, les identifiants seront rechargés lorsque le jeton d’authentification sera renouvelé.
Option ID du projet du dépôt GCS (--repo-gcs-user-project)
Identifiant du projet GCS.
ID du projet GCS utilisé pour déterminer la facturation des requêtes.
Option de lien dur pour le dépôt (--repo-hardlink)
Crée des liens durs entre les fichiers des sauvegardes dans le dépôt.
Activez le lien dur des fichiers dans les sauvegardes différentielles et incrémentielles vers leurs sauvegardes complètes. Cela donne l’illusion qu’à niveau système de fichiers, chaque sauvegarde est une sauvegarde complète. Faites attention toutefois, car la modification de fichiers liés par lien dur peut affecter toutes les sauvegardes de l’ensemble.
Nom obsolète : hardlink
Option hôte du dépôt (--repo-host)
Hôte du dépôt lors de l’opération à distance.
Lors de la sauvegarde et de l’archivage vers un système de fichiers monté localement, ce paramètre n’est pas requis.
Nom obsolète : backup-host
Option du fichier de l’autorité de certification hôte du dépôt (--repo-host-ca-file)
Fichier de l’autorité de certification du serveur de dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour vous connecter à l’hôte du dépôt.
Option Chemin de l’autorité de certification du dépôt (--repo-host-ca-path)
Chemin de l’autorité de certification du serveur de dépôt.
Utilisez un chemin de certificat d’autorité (CA) autre que celui par défaut du système pour établir la connexion avec l’hôte du dépôt.
Option de fichier de certificat d’hôte du dépôt (--repo-host-cert-file)
Fichier de certificat d’hôte du dépôt.
Envoyé à l’hôte du dépôt pour prouver l’identité du client.
Option de commande hôte du dépôt (--repo-host-cmd)
Hôte du dépôt commande pgBackRest.
Requis uniquement si le chemin vers la commande pgBackRest est différent sur les hôtes local et de dépôt. Si non défini, la commande de dépôt sera définie de la même manière que celle de l’hôte local.
Nom obsolète : backup-cmd
Option de configuration de l’hôte du dépôt (--repo-host-config)
Fichier de configuration du serveur de dépôt pgBackRest.
Spécifie l’emplacement du fichier de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le fichier de configuration de l’hôte du dépôt se trouve dans un emplacement différent du fichier de configuration local.
Nom obsolète : sauvegarde-config
Option de chemin d’inclusion de configuration d’hôte de dépôt (--repo-host-config-include-path)
Configuration du serveur de dépôt pgBackRest incluant le chemin.
Définit l’emplacement du chemin d’inclusion de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin d’inclusion de configuration de l’hôte du dépôt est différent du chemin d’inclusion de configuration local.
Chemin de configuration de l’hôte du dépôt (--repo-host-config-path)
Chemin de configuration du serveur de dépôt pgBackRest.
Définit l’emplacement du chemin de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin de configuration de l’hôte du dépôt est différent du chemin de configuration local.
Option de fichier de clé hôte du dépôt (--repo-host-key-file)
Fichier de clé hôte du dépôt.
Vérifie que le certificat client a été envoyé par le propriétaire.
Option de port 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 du serveur du dépôt.
NOTE : Lorsque
repo-host-type=ssh, il n’existe pas de valeur par défaut pourrepo-host-port. Dans ce cas, le port sera celui configuré pour la commande spécifiée parcmd-ssh.
Nom obsolète : backup-ssh-port
Type de protocole d’hôte de dépôt (--repo-host-type)
Type de protocole d’hôte de dépôt.
Les types de protocole suivants sont pris en charge :
ssh- Shell sécurisé.tls- Serveur TLS pgBackRest.
Option d’utilisateur hôte de dépôt (--repo-host-user)
Utilisateur hôte du dépôt lorsque repo-host est défini.
Définit l’utilisateur utilisé pour les opérations sur l’hôte du dépôt. Il est préférable que ce ne soit pas l’utilisateur postgres, mais plutôt un autre utilisateur tel que pgbackrest. Si PostgreSQL s’exécute sur l’hôte du dépôt, l’utilisateur postgres peut être ajouté au groupe pgbackrest afin d’avoir des permissions de lecture sur le dépôt sans pouvoir accidentellement le modifier.
Nom obsolète : backup-user
Option Chemin du dépôt (--repo-path)
Chemin où les sauvegardes et l’archive sont stockées.
Le dépôt est l’emplacement où pgBackRest stocke les sauvegardes et les archives des segments WAL.
Il peut être difficile de prévoir à l’avance l’espace nécessaire. La meilleure approche consiste à effectuer quelques sauvegardes, puis à noter la taille des différents types de sauvegardes (pleines, incrémentielles, différentielles) et à mesurer la quantité de WAL générée par jour. Cela vous donnera une idée générale de l’espace requis, bien que les besoins évoluent probablement au fil du temps avec l’évolution de votre base de données.
Option de rétention des archives (--repo-retention-archive)
Nombre de sauvegardes de WAL continu à 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 valeur n’est pas définie et que repo-retention-full-type est égal à count (valeur par défaut), alors l’archive à expirer sera par défaut celle correspondant à la valeur de repo-retention-full (ou repo-retention-diff) associée à repo-retention-archive-type si celle-ci est définie à full (ou diff). Cela garantira que les fichiers WAL ne seront supprimés que pour les sauvegardes déjà expirées. Si repo-retention-full-type est égal à time, alors cette valeur sera par défaut définie pour supprimer les archives antérieures à la plus ancienne sauvegarde complète conservée après avoir satisfait le paramètre repo-retention-full.
Cette option doit être définie si repo-retention-archive-type est réglé sur incr. Si l’espace disque est limité, ce paramètre, combiné à repo-retention-archive-type, peut être utilisé pour supprimer de manière agressive les segments WAL. Toutefois, cela annule la possibilité de réaliser une restauration à un instant donné à partir des sauvegardes ayant des segments WAL expirés, et n’est donc pas recommandé.
Nom obsolète : rétention-archive
Type de rétention des archives (--repo-retention-archive-type)
Type de sauvegarde pour la rétention de WAL.
Si défini sur full, pgBackRest conservera les journaux d’archive pendant le nombre de sauvegardes complètes défini par repo-retention-archive. Si défini sur diff (différentiel), pgBackRest conservera les journaux d’archive pendant le nombre de sauvegardes complètes et différentielles défini par repo-retention-archive, ce qui signifie qu’une sauvegarde complète prise en dernier sera comptée comme une sauvegarde différentielle pour l’application de la rétention du référentiel. Si défini sur incr (incrémentielle), pgBackRest conservera les journaux d’archive pendant le nombre de sauvegardes complètes, différentielles et incrémentielles défini par repo-retention-archive. Il est recommandé de ne pas modifier cette option par rapport à sa valeur par défaut, qui n’expire les WAL que conjointement à l’expiration des sauvegardes complètes.
Nom obsolète : rétention-archive-type
Option de rétention différentielle (--repo-retention-diff)
Nombre de sauvegardes différentielles à conserver.
Lorsqu’une sauvegarde différentielle expire, toutes les sauvegardes incrémentielles associées à cette sauvegarde différentielle expirent également. Si ce paramètre n’est pas défini, toutes les sauvegardes différentielles sont conservées jusqu’à l’expiration des sauvegardes complètes dont elles dépendent.
Notez que les sauvegardes complètes sont prises en compte dans le nombre de sauvegardes différentielles pour l’expiration. Cela réduit légèrement le nombre de sauvegardes différentielles à conserver dans la plupart des cas.
Nom obsolète : rétention-diff
Option de rétention complète (--repo-retention-full)
Nombre ou durée de rétention des sauvegardes complètes.
Lorsqu’une sauvegarde complète expire, toutes les sauvegardes différentielles et incrémentielles associées à cette sauvegarde complète expirent également. Si l’option n’est pas définie, un avertissement est émis. Si une rétention indéfinie est souhaitée, définissez l’option à sa valeur maximale.
Nom obsolète : rétention-full
Type d’option de rétention complète (--repo-retention-full-type)
Type de rétention pour les sauvegardes complètes.
Détermine si le paramètre repo-retention-full représente une période de temps (en jours) ou un nombre de sauvegardes complètes à conserver.
Si la valeur est définie à time, les sauvegardes complètes dont l’âge dépasse repo-retention-full seront supprimées du dépôt si au moins une autre sauvegarde est égale ou supérieure à la valeur définie par repo-retention-full. Par exemple, si repo-retention-full est égal à 30 (jours) et qu’il existe deux sauvegardes complètes : l’une âgée de 25 jours et l’autre de 35 jours, aucune sauvegarde complète ne sera expirée, car la suppression de la sauvegarde âgée de 35 jours laisserait uniquement la sauvegarde âgée de 25 jours, ce qui violerait la politique de rétention de 30 jours exigeant qu’au moins une sauvegarde ait au moins 30 jours d’âge avant qu’une sauvegarde plus ancienne ne puisse être expirée. Les archives WAL plus anciennes que la plus ancienne sauvegarde complète restante seront automatiquement expirées, sauf si repo-retention-archive-type et repo-retention-archive sont explicitement définis.
Si la valeur est définie à count, les sauvegardes complètes dont la taille dépasse repo-retention-full seront supprimées. Par exemple, si repo-retention-full est égal à 4 et qu’une cinquième sauvegarde complète est effectuée, la sauvegarde complète la plus ancienne sera supprimée afin de maintenir le nombre à 4.
Notez qu’une sauvegarde ne sera prise en compte pour la rétention qu’après avoir été correctement terminée. Par exemple, si repo-retention-full-type est count et repo-retention-full est 2, il doit y avoir 3 sauvegardes complètes avant que la plus ancienne ne soit supprimée.
Option de rétention de l’historique des sauvegardes (--repo-retention-history)
Nombre de jours d’historique de sauvegarde à conserver.
Une copie du manifeste de sauvegarde est stockée dans le chemin backup.history une fois la sauvegarde terminée. Par défaut, ces fichiers ne sont jamais supprimés, car ils sont utiles pour l’analyse de données, par exemple pour mesurer l’évolution de la taille des sauvegardes et des fichiers WAL au fil du temps.
Définissez repo-retention-history pour préciser le nombre de jours de manifestes d’historique de sauvegarde à conserver. Les sauvegardes non expirées sont toujours conservées dans l’historique des sauvegardes. Spécifiez repo-retention-history=0 pour ne conserver l’historique des sauvegardes que pour les sauvegardes non expirées.
Lorsqu’un manifeste d’historique de sauvegarde complète est expiré, tous les manifestes d’historique de sauvegardes différentielles et incrémentielles associés à cette sauvegarde complète expirent également.
Option de bac de dépôt S3 (--repo-s3-bucket)
Dépôt S3.
Dépôt S3 utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par AWS dans le bucket.
Option de point de terminaison du dépôt S3 (--repo-s3-endpoint)
Point de terminaison du dépôt S3.
Le point de terminaison AWS doit être valide pour la région sélectionnée.
Pour les configurations personnalisées ou les tests, les options repo-storage-ca-file, repo-storage-ca-path, repo-storage-host, repo-storage-port, et repo-storage-verify-tls peuvent être utiles.
Type de clé du dépôt S3 (--repo-s3-key-type)
Type de clé pour le dépôt S3.
Les types suivants sont pris en charge :
shared- Clés partagéesauto- Récupérer automatiquement les identifiants temporairesweb-id- Récupérer automatiquement les identifiants d’identité webpod-id- Récupérer automatiquement les identifiants d’identité de pod EKSprocess- Récupérer les identifiants en exécutant un processus
Option ID de clé KMS pour dépôt S3 (--repo-s3-kms-key-id)
Clé KMS du dépôt S3.
Active le chiffrement côté serveur S3 en utilisant la clé du service de gestion des clés AWS spécifiée.
Option de commande du processus d’authentification S3 (--repo-s3-process-cmd)
Commande du processus d’authentification S3.
Commande (et arguments facultatifs) à exécuter pour récupérer les identifiants temporaires S3. Le premier élément de la liste est la commande, les éléments suivants sont passés en tant que paramètres.
Le processus doit produire un JSON contenant les champs AccessKeyId, SecretAccessKey, SessionToken et Expiration. Les identifiants seront automatiquement actualisés avant l’expiration. Voir Process Credential Provider
pour les détails du format.
Option de région du dépôt S3 (--repo-s3-region)
Région du dépôt S3.
La région AWS où le bucket a été créé.
Option Requesteur Payant pour le dépôt S3 (--repo-s3-requester-pays)
Dépôt S3 payeur de la demande.
Active le paiement par le demandeur S3.
Option de rôle du dépôt S3 (--repo-s3-role)
Rôle du dépôt S3.
Le nom du rôle AWS (pas le nom ARN complet) utilisé pour récupérer les identifiants temporaires lorsque repo-s3-key-type=auto.
Option de service de dépôt S3 (--repo-s3-service)
Service de signature S3.
Le service de signature S3 utilisé dans l’authentification SigV4. La valeur par défaut est s3 pour les points d’accès S3 standards. À définir sur s3-outposts lors de l’utilisation d’un point d’accès S3 Outposts.
Option de point de terminaison STS du dépôt S3 (--repo-s3-sts-host)
Point de terminaison STS du dépôt S3.
Point de terminaison STS utilisé pour récupérer des identifiants temporaires lorsque repo-s3-key-type=web-id est configuré. Définissez-le sur un point de terminaison régional (par exemple sts.us-east-1.amazonaws.com) pour utiliser STS régional, ce qui peut être nécessaire pour les régions GovCloud, Chine, ou pour réduire la latence.
Option de style d’URI de dépôt S3 (--repo-s3-uri-style)
Style d’URI S3.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôtebucket.endpoint.path- Se connecter à l’hôteendpointet préfixer les URI par le répertoire.
Option hôte du dépôt SFTP (--repo-sftp-host)
Hôte du dépôt SFTP.
Hôte SFTP contenant le dépôt.
Fingerprint de l’hôte du dépôt SFTP (--repo-sftp-host-fingerprint)
Empreinte du serveur hôte du dépôt SFTP.
La génération de l’empreinte d’hôte du dépôt SFTP doit correspondre à repo-sftp-host-key-hash-type. Générez l’empreinte via awk '{print $2}' ssh_host_xxx_key.pub | base64 -d | (md5sum or sha1sum) -b. Les clés d’hôte SSH se trouvent normalement dans le répertoire /etc/ssh.
Type d’option de vérification de la clé hôte SFTP (--repo-sftp-host-key-check-type)
Type de vérification de la clé hôte SFTP.
Les types de vérification de clé d’hôte SFTP suivants sont pris en charge :
strict- pgBackRest n’ajoutera jamais automatiquement les clés d’hôte au fichier ~/.ssh/known_hosts, et refusera de se connecter aux hôtes dont la clé d’hôte a changé ou n’est pas trouvée dans les fichiers known hosts. Cette option oblige l’utilisateur à ajouter manuellement tous les nouveaux hôtes.accept-new- pgBackRest ajoutera automatiquement les nouvelles clés d’hôte au fichier known hosts de l’utilisateur, mais n’autorisera pas les connexions aux hôtes dont la clé d’hôte a changé.fingerprint- pgBackRest vérifiera la clé d’hôte contre l’empreinte spécifiée par l’optionrepo-sftp-host-fingerprint.none- aucune vérification de clé d’hôte ne sera effectuée.
Type de hachage de la clé hôte du dépôt SFTP (--repo-sftp-host-key-hash-type)
Type de hachage de la clé d’hôte du dépôt SFTP.
Type de hachage de la clé hôte du dépôt SFTP. Déclare le type de hachage à utiliser pour calculer le hachage de la clé hôte du système distant au démarrage SSH. Les versions plus récentes de libssh2 prennent en charge sha256 en plus de md5 et sha1.
Option de port hôte du dépôt SFTP (--repo-sftp-host-port)
Port hôte du dépôt SFTP.
Port hôte du dépôt SFTP.
Option utilisateur hôte dépôt SFTP (--repo-sftp-host-user)
Utilisateur hôte du dépôt SFTP.
Utilisateur sur l’hôte utilisé pour stocker le dépôt.
Option fichier Hôtes SFTP connus (--repo-sftp-known-host)
Fichier d’hôtes SFTP connus.
Fichier known hosts à consulter pour rechercher une correspondance avec un hôte SFTP lors de l’authentification. Si non spécifié, pgBackRest recherchera par défaut dans ~/.ssh/known_hosts, ~/.ssh/known_hosts2, /etc/ssh/ssh_known_hosts et /etc/ssh/ssh_known_hosts2. Si configuré avec un ou plusieurs chemins de fichier, pgBackRest recherchera dans ces fichiers une correspondance. Les chemins de fichier doivent être complets ou commencer par un tilde. L’option repo-sftp-known-host peut être spécifiée plusieurs fois pour indiquer plusieurs fichiers known hosts à consulter. Pour utiliser la vérification du fichier known hosts, l’option repo-sftp-host-fingerprint ne doit pas être définie. Voir également l’option repo-sftp-host-check-type.
Option fichier de clé privée du dépôt SFTP (--repo-sftp-private-key-file)
Fichier de clé privée SFTP.
Fichier de clé privée SFTP utilisé pour l’authentification.
Option de fichier de clé publique du dépôt SFTP (--repo-sftp-public-key-file)
Fichier de clé publique SFTP.
Fichier de clé publique SFTP utilisé pour l’authentification. Facultatif si compilé contre OpenSSL, obligatoire si compilé contre une autre bibliothèque.
Option du fichier CA du dépôt de stockage (--repo-storage-ca-file)
Fichier de certificat d’autorité de certification pour le dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-file, repo-s3-ca-file
Option de chemin du certificat CA TLS pour le dépôt (--repo-storage-ca-path)
Chemin du certificat d’autorité de certification du dépôt.
Utilisez un chemin de certificat d’autorité de certification (CA) autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-path, repo-s3-ca-path
Option hôte de stockage du dépôt (--repo-storage-host)
Hôte de stockage du dépôt.
Se connecter à un hôte autre que le point de terminaison de stockage (par exemple S3, Azure). Cela est généralement utilisé pour les tests.
Noms obsolètes : repo-azure-host, repo-s3-host
Option de port du stockage du dépôt (--repo-storage-port)
Port du stockage du dépôt.
Port à utiliser lors de la connexion au point de terminaison du stockage (par exemple S3, Azure) ou à l’hôte (le cas échéant).
Noms obsolètes : repo-azure-port, repo-s3-port
Option d’étiquette de stockage du dépôt (--repo-storage-tag)
Étiquette(s) de stockage du dépôt.
Spécifiez les balises à ajouter aux objets lorsque le dépôt est un magasin d’objets (par exemple, S3). L’option peut être répétée pour ajouter plusieurs balises.
Il n’existe aucune fonctionnalité dans pgBackRest permettant de modifier ces balises ; veillez donc à les définir correctement avant d’exécuter stanza-create afin d’assurer une cohérence des balises dans l’ensemble du dépôt.
Option de taille de morceau de chargement du dépôt (--repo-storage-upload-chunk-size)
Taille du morceau de chargement du dépôt.
Les magasins d’objets tels que S3 permettent de télécharger des fichiers par morceaux lorsque le fichier est trop volumineux pour être stocké en mémoire. Même si le fichier peut être stocké en mémoire, il est plus efficace en mémoire de limiter la quantité de mémoire utilisée pour les téléchargements.
Une taille de morceau plus élevée entraîne généralement de meilleures performances, car elle réduit le nombre de requêtes de téléchargement et permet de télécharger plus de fichiers en une seule requête plutôt qu’en morceaux. Le désavantage est que la consommation mémoire sera plus élevée, et comme la mémoire tampon de morceau doit être allouée par processus, des valeurs plus élevées de process-max entraînent une consommation mémoire globale plus importante.
Notez que les tailles de morceau valides varient selon le type de stockage et la plateforme. Par exemple, AWS S3 impose une taille minimale de morceau de 5MiB. La terminologie relative à la taille du morceau varie selon le type de stockage ; utilisez donc « part size » pour AWS S3, « chunk size » pour GCS et « block size » pour Azure lorsque vous recherchez les valeurs minimales ou maximales.
Si un fichier est plus grand que 1GiB (la taille maximale que PostgreSQL crée par défaut), la taille de tranche sera augmentée progressivement jusqu’à la valeur maximale autorisée afin de terminer le téléchargement du fichier.
Option de vérification du certificat de stockage du dépôt (--repo-storage-verify-tls)
Vérification du certificat du dépôt de stockage.
Cette option permet d’activer/désactiver la vérification du certificat TLS du serveur de stockage (par exemple, S3, Azure). La désactivation ne doit être utilisée que pour des tests ou d’autres scénarios où un certificat a été auto-signé.
Noms obsolètes : repo-azure-verify-tls, repo-s3-verify-ssl, repo-s3-verify-tls
Option de lien symbolique du dépôt (--repo-symlink)
Créez des liens symboliques dans le dépôt.
Active la création du latest et des liens symboliques de tablespace. Ces liens symboliques sont particulièrement utiles lors de la récupération in situ à l’aide de captures instantanées dans le dépôt, ce qui constitue un cas d’utilisation peu courant.
Bien que cette fonctionnalité soit probablement inutile pour la grande majorité des utilisateurs, elle reste activée par défaut pour des raisons de compatibilité avec les anciennes versions. Toutefois, il peut être utile de désactiver les liens symboliques pour les stockages de type Posix qui ne les prennent pas en charge.
Option de type de dépôt (--repo-type)
Type de stockage utilisé pour le dépôt.
Les types de dépôt suivants sont pris en charge :
azure- Service de stockage Blob Azurecifs- Commeposix, mais désactive les liens et les fsyncs de répertoiregcs- Google Cloud Storageposix- Systèmes de fichiers conformes à Posixs3- AWS Simple Storage Servicesftp- Protocole de transfert de fichiers sécurisé
Lorsqu’un montage NFS est utilisé comme dépôt posix, les mêmes règles s’appliquent à pgBackRest qu’indiquées dans la documentation PostgreSQL : Création d’un cluster de base de données - Systèmes de fichiers
.
Options de stanza
Option base de données PostgreSQL (--pg-database)
Base de données PostgreSQL.
Le nom de la base de données utilisé lors de la connexion à PostgreSQL. La valeur par défaut est généralement la meilleure option, mais certaines installations peuvent ne pas contenir cette base de données.
Notez que, pour des raisons historiques, le paramétrage de la variable d’environnement PGDATABASE sera ignoré.
Option Hôte PostgreSQL (--pg-host)
Hôte PostgreSQL pour une opération à distance.
Utilisé pour les sauvegardes où l’hôte PostgreSQL est différent de l’hôte du dépôt.
Nom obsolète : db-host
Option Fichier de l’Autorité de certification du serveur PostgreSQL (--pg-host-ca-file)
Fichier de l’autorité de certification du serveur PostgreSQL.
Utilisez un fichier CA autre que celui par défaut du système pour vous connecter à l’hôte PostgreSQL.
Option Chemin de l’Autorité de certification du serveur PostgreSQL (--pg-host-ca-path)
Chemin de l’autorité de certification du serveur PostgreSQL.
Utilisez un chemin de certificat d’autorité de certification (CA) autre que celui par défaut du système pour établir la connexion avec l’hôte PostgreSQL.
Option Fichier de certificat d’hôte PostgreSQL (--pg-host-cert-file)
Fichier de certificat d’hôte PostgreSQL.
Envoyé à l’hôte PostgreSQL pour prouver l’identité du client.
Option de commande hôte PostgreSQL (--pg-host-cmd)
Hôte PostgreSQL : commande pgBackRest.
Requis uniquement si le chemin vers la commande pgBackRest est différent sur les hôtes locaux et PostgreSQL. Si ce n’est pas défini, la commande sur l’hôte PostgreSQL sera définie de la même manière que celle sur l’hôte local.
Nom obsolète : db-cmd
Option de configuration hôte PostgreSQL (--pg-host-config)
Fichier de configuration du serveur de base de données pgBackRest.
Spécifie l’emplacement du fichier de configuration sur l’hôte PostgreSQL. Cette option est nécessaire uniquement si le fichier de configuration PostgreSQL est situé à un emplacement différent du fichier de configuration local.
Nom obsolète : db-config
Chemin d’inclusion de la configuration hôte PostgreSQL (--pg-host-config-include-path)
Configuration de l’hôte de base de données pgBackRest incluant le chemin.
Définit l’emplacement du chemin d’inclusion de configuration sur l’hôte PostgreSQL. Cette option est nécessaire uniquement si le chemin d’inclusion de configuration PostgreSQL se trouve dans un emplacement différent du chemin d’inclusion de configuration local.
Option de chemin de configuration de l’hôte PostgreSQL (--pg-host-config-path)
Chemin de configuration de l’hôte de base de données pgBackRest.
Définit l’emplacement du chemin de configuration sur l’hôte PostgreSQL. Cette option est nécessaire uniquement si le chemin de configuration PostgreSQL se trouve dans un emplacement différent du chemin de configuration local.
Option fichier clé hôte PostgreSQL (--pg-host-key-file)
Fichier de clé hôte PostgreSQL.
Vérifie que le certificat client a été envoyé par le propriétaire.
Option Port hôte PostgreSQL (--pg-host-port)
Port de l’hôte PostgreSQL lorsque pg-host est défini.
Utilisez cette option pour spécifier un port non par défaut pour le protocole d’hôte PostgreSQL.
NOTE : Lorsque
pg-host-type=ssh, il n’existe pas de valeur par défaut pourpg-host-port. Dans ce cas, le port sera celui configuré pour la commande spécifiée parcmd-ssh.
Nom obsolète : db-ssh-port
Type de protocole d’hôte PostgreSQL (--pg-host-type)
Type de protocole hôte PostgreSQL.
Les types de protocole suivants sont pris en charge :
ssh- Shell sécurisé.tls- Serveur TLS pgBackRest.
Option utilisateur hôte PostgreSQL (--pg-host-user)
Utilisateur de connexion au serveur PostgreSQL lorsqu’pg-host est défini.
Cet utilisateur possédera également le processus pgBackRest distant et initiera les connexions à PostgreSQL. Pour que cela fonctionne correctement, l’utilisateur doit être le propriétaire du cluster de base de données PostgreSQL, ce qui correspond généralement à postgres, la valeur par défaut.
Nom obsolète : db-user
Option Chemin PostgreSQL (--pg-path)
Répertoire de données PostgreSQL.
Il doit être identique à la valeur data_directory rapportée par PostgreSQL. Même si cette valeur peut être lue à divers endroits, il est prudent de la définir afin de garantir sa disponibilité en cas de restauration ou de sauvegarde hors ligne.
L’option pg-path est vérifiée par rapport à la valeur rapportée par PostgreSQL à chaque sauvegarde en ligne, elle doit donc toujours être à jour.
Nom obsolète : db-path
Option de port PostgreSQL (--pg-port)
Port PostgreSQL.
Port sur lequel PostgreSQL est en cours d’exécution. Ce paramètre n’a généralement pas besoin d’être spécifié, car la plupart des clusters PostgreSQL s’exécutent sur le port par défaut.
Nom obsolète : db-port
Option Chemin du socket PostgreSQL (--pg-socket-path)
Chemin du socket Unix de PostgreSQL.
Répertoire du socket Unix spécifié lors du démarrage de PostgreSQL. pgBackRest recherche automatiquement dans l’emplacement standard de votre système d’exploitation, aussi il est généralement inutile de préciser ce paramètre, sauf si le répertoire du socket a été explicitement modifié à l’aide du paramètre unix_socket_directories dans postgresql.conf.
Nom obsolète : db-socket-path
Option utilisateur de base de données PostgreSQL (--pg-user)
Utilisateur de base de données PostgreSQL.
Le nom d’utilisateur de la base de données utilisé lors de la connexion à PostgreSQL. Si non spécifié, pgBackRest se connectera avec l’utilisateur système local ou PGUSER.
4.5 - Commande de vérification (check)
check.La commande check vérifie que pgBackRest et le paramètre archive_command sont correctement configurés pour l’archivage et les sauvegardes du stanza spécifié. Elle tente de vérifier tous les dépôts et bases de données configurés pour l’hôte sur lequel la commande est exécutée. Elle détecte les mauvaises configurations, en particulier celles relatives à l’archivage, qui entraînent des sauvegardes incomplètes car des segments WAL requis n’ont pas atteint l’archive. La commande peut être exécutée sur l’hôte PostgreSQL ou sur l’hôte dépôt. Elle peut également être exécutée sur l’hôte de basculement, toutefois, comme les opérations pg_switch_xlog()/pg_switch_wal() ne peuvent pas être effectuées sur le basculement, la commande ne testera que la configuration du dépôt.
Notez que pg_create_restore_point('pgBackRest Archive Check') et pg_switch_xlog()/pg_switch_wal() sont appelés pour forcer PostgreSQL à archiver un segment WAL.
Options de commande
Option de vérification de l’archive (--archive-check)
Vérifiez que les segments WAL sont présents dans l’archive avant la fin de la sauvegarde.
Vérifie que tous les segments WAL nécessaires pour rendre la sauvegarde cohérente sont présents dans l’archive WAL. Il est recommandé de laisser cette option par défaut, sauf si vous utilisez une autre méthode d’archivage.
Cette option doit être activée si archive-copy est activé.
Vérifier l’option Mode archive (--archive-mode-check)
Vérifiez le paramètre PostgreSQL archive_mode.
Activé par défaut, cette option interdit PostgreSQL archive_mode=always.
Les segments WAL poussés depuis un serveur de secours peuvent être logiquement identiques aux segments WAL poussés depuis le principal, mais présenter des sommes de contrôle différentes. Il est recommandé de désactiver l’archivage depuis plusieurs sources afin d’éviter les conflits.
AVERTISSEMENT :
Si cette option est désactivée, il est essentiel de s’assurer qu’un seul archivage écrit dans le dépôt via la commande archive-push.
Option délai d’archivage (--archive-timeout)
Délai d’attente de l’archive.
Définir le délai maximal, en secondes, d’attente pour chaque segment WAL afin qu’il atteigne le dépôt d’archive pgBackRest. Ce délai s’applique aux commandes check et backup lors de l’attente des segments WAL nécessaires à la cohérence de la sauvegarde.
Option de sauvegarde depuis une instance de secours (--backup-standby)
Sauvegarde à partir du cluster de secours.
Activez la sauvegarde depuis le serveur de secours afin de réduire la charge sur le cluster principal. Cette option nécessite que les hôtes principal et de secours soient configurés.
Les modes suivants sont pris en charge :
y- un serveur standby est obligatoire pour la sauvegarde.prefer- effectuer la sauvegarde depuis le serveur standby s’il est disponible, sinon depuis le primaire.n- effectuer la sauvegarde uniquement depuis le primaire.
Options générales
Autoriser l’exécution en tant qu’utilisateur root (--allow-root)
Permettre à la commande de s’exécuter en tant qu’utilisateur root.
Par défaut, seul la commande restore peut être exécutée en tant qu’utilisateur root, car elle est conçue pour gérer soigneusement les propriétés des fichiers. Exécuter d’autres commandes en tant que root risque de créer des fichiers (par exemple dans le dépôt) dont le propriétaire est root, rendant ces fichiers inaccessibles à l’utilisateur PostgreSQL, ce qui entraîne l’échec des commandes ultérieures.
Activez cette option pour exécuter une commande en tant qu’utilisateur root malgré tout. Toutefois, il est bien préférable d’exécuter pgBackRest en tant qu’utilisateur propriétaire du dépôt et du cluster PostgreSQL.
Option Taille tampon (--buffer-size)
Taille du tampon pour les opérations d’E/S.
Taille de tampon utilisée pour les opérations de copie, de compression, de chiffrement et autres. Le nombre de tampons utilisés dépend des options, et chaque opération peut utiliser une mémoire supplémentaire, par exemple, la compression gz peut utiliser jusqu’à 256KiB de mémoire supplémentaire.
Les valeurs autorisées sont 16KiB, 32KiB, 64KiB, 128KiB, 256KiB, 512KiB, 1MiB, 2MiB, 4MiB, 8MiB et 16MiB.
Option de commande client SSH (--cmd-ssh)
Commande cliente SSH.
Utilisez une commande cliente SSH spécifique lorsque vous souhaitez utiliser une alternative ou que la commande ssh n’est pas disponible dans $PATH.
Option niveau de compression réseau (--compress-level-network)
Niveau de compression du réseau.
Définit le niveau de compression réseau lorsque compress-type=none et la commande ne sont pas exécutées sur le même hôte que le dépôt. La compression est utilisée pour réduire le trafic réseau. Lorsque compress-type est différent de none, le paramètre compress-level-network est ignoré et compress-level est utilisé à la place, afin que le fichier ne soit compressé qu’une seule fois.
Option de configuration (--config)
Fichier de configuration pgBackRest.
Utilisez cette option pour spécifier un fichier de configuration différent du fichier par défaut.
Option Chemin d’inclusion de configuration (--config-include-path)
Chemin vers les fichiers de configuration supplémentaires de pgBackRest.
Les fichiers de configuration se trouvant dans l’emplacement spécifié et ayant l’extension .conf seront concaténés au fichier de configuration de pgBackRest, ce qui donne un seul fichier de configuration.
Option de chemin de configuration (--config-path)
Chemin de base des fichiers de configuration de pgBackRest.
Ce paramètre est utilisé pour remplacer le chemin de base par défaut pour les options --config et --config-include-path, sauf si ces dernières sont explicitement définies en ligne de commande.
Par exemple, passer uniquement --config-path=/conf/pgbackrest fait que la valeur par défaut de --config est définie à /conf/pgbackrest/pgbackrest.conf et que la valeur par défaut de --config-include-path est définie à /conf/pgbackrest/conf.d.
Option de délai d’attente de la base de données (--db-timeout)
Délai d’attente dépassé pour la requête de base de données.
Définit le délai d’attente, en secondes, des requêtes effectuées contre la base de données. Cela inclut les fonctions de démarrage et d’arrêt de la sauvegarde, qui peuvent chacune prendre beaucoup de temps. En raison de cela, le délai d’attente doit être maintenu élevé, sauf si vous savez que ces fonctions retourneront rapidement (par exemple, si vous avez défini start-fast=y et que vous savez que le cluster de base de données ne générera pas beaucoup de segments WAL pendant la sauvegarde).
NOTE : L’option
db-timeoutdoit être inférieure à l’optionprotocol-timeout.
Option d’expiration I/O (--io-timeout)
Délai d’attente d’E/S dépassé.
Délai d’attente, en secondes, utilisé pour les connexions et les opérations de lecture/écriture.
Notez que l’opération de lecture/écriture entière n’a pas besoin de se terminer dans ce délai d’attente, mais une certaine progression doit être réalisée, même si elle ne concerne qu’un seul octet.
Option de masque neutre (--neutral-umask)
Utilisez un umask neutre.
Définit le umask à 0000 afin que les modes du dépôt soient créés de manière cohérente. Le mode par défaut du répertoire est 0750 et le mode par défaut du fichier est 0640.
Pour utiliser le umask de l’utilisateur en cours, spécifiez neutral-umask=n dans le fichier de configuration ou --no-neutral-umask en ligne de commande.
Définir l’option de priorité du processus (--priority)
Définir la priorité du processus.
Définit la priorité (c’est-à-dire la valeur de niceness) accordée au processus par l’ordonnanceur du noyau. Les valeurs positives réduisent la priorité, tandis que les valeurs négatives l’augmentent. Dans la plupart des cas, les processus ne disposent pas des autorisations nécessaires pour augmenter leur priorité.
Option délai d’attente du protocole (--protocol-timeout)
Délai d’attente du protocole.
Définit le délai d’attente, en secondes, durant lequel le processus local ou distant attend qu’un nouveau message soit reçu au niveau du protocole. Cela empêche les processus de rester bloqués indéfiniment en attente d’un message.
NOTE : L’option
protocol-timeoutdoit être supérieure à l’optiondb-timeout.
Option Keep Alive (--sck-keep-alive)
Activation du keep-alive.
Active les messages keep-alive sur les connexions socket.
Option stanza (--stanza)
Définit la stanza.
Une stanza est la configuration d’un cluster de base de données PostgreSQL qui définit son emplacement, la manière dont il sera sauvegardé, les options d’archivage, etc. La plupart des serveurs de base de données n’ont qu’un seul cluster PostgreSQL et donc une seule stanza, tandis que les serveurs de sauvegarde ont une stanza pour chaque cluster de base de données à sauvegarder.
Il est tentant de nommer la stanza en fonction du cluster principal, mais un nom plus pertinent décrit les bases de données contenues dans le cluster. Étant donné que le nom de la stanza sera utilisé pour le principal et toutes les répliques, il est préférable de choisir un nom qui décrit la fonction réelle du cluster, par exemple app ou dw, plutôt que le nom local du cluster, comme main ou prod.
Option de nombre de connexions Keep Alive (--tcp-keep-alive-count)
Nombre de maintien de connexion.
Spécifie le nombre de messages TCP keep-alive pouvant être perdus avant que la connexion ne soit considérée comme inactive.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPCNT.
Option d’idle Keep Alive (--tcp-keep-alive-idle)
Délai d’inactivité pour la maintien de la connexion.
Spécifie la durée (en secondes) pendant laquelle aucune activité réseau ne se produit, après laquelle le système d’exploitation doit envoyer un message de maintien de connexion TCP.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPIDLE.
Option Intervalle Keep Alive (--tcp-keep-alive-interval)
Intervalle de temps pour la maintien de la connexion active.
Spécifie la durée (en secondes) après laquelle un message TCP keep-alive non reconnu doit être renvoyé.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPINTVL.
Suites de chiffrement TLSv1.2 Option (--tls-cipher-12)
Suites de chiffrement TLSv1.2 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. L’exemple proposé constitue un choix raisonnable sauf si des exigences de sécurité spécifiques s’appliquent. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Suites de chiffrement TLSv1.3 Option (--tls-cipher-13)
Suites de chiffrement TLSv1.3 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Options de journalisation
Niveau de journalisation de la console (--log-level-console)
Niveau de journalisation pour la console.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation du fichier (--log-level-file)
Niveau de journalisation des fichiers.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation des erreurs standard (--log-level-stderr)
Niveau de journalisation pour stderr.
Spécifie les niveaux de journalisation qui seront envoyés vers stderr plutôt que vers stdout (spécifié par log-level-console). L’horodatage et le processus ne seront pas envoyés vers stderr.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Option Chemin Journal (--log-path)
Chemin où les fichiers de journalisation sont stockés.
Le chemin de journalisation fournit un emplacement où pgBackRest peut stocker les fichiers de journalisation. Notez que si log-level-file=off, aucun chemin de journalisation n’est requis.
Option de journalisation des sous-processus (--log-subprocess)
Activer la journalisation dans les sous-processus.
Activez la journalisation des fichiers pour tout sous-processus créé par ce processus, en utilisant le niveau de journalisation spécifié par log-level-file.
Option de timestamp de journal (--log-timestamp)
Activer les horodatages dans la journalisation.
Active l’horodatage dans la journalisation console et fichier. Cette option est désactivée dans des situations spéciales, telles que la génération de documentation.
Options du mainteneur
Option de version PostgreSQL obligatoire (--pg-version-force)
Forcer la version de PostgreSQL.
La version de PostgreSQL spécifiée sera utilisée à la place de la version détectée automatiquement en lisant pg_control ou les en-têtes WAL. Cela est principalement utile pour les forks de PostgreSQL ou les versions de développement où ces valeurs diffèrent de la version de publication. La version rapportée par PostgreSQL via server_version_num doit correspondre à la version forcée.
AVERTISSEMENT :
Faites preuve de prudence en utilisant cette option, car pg_control et les en-têtes WAL seront toujours lus selon le format attendu pour la version spécifiée, c’est-à-dire le format issu de la version open-source officielle de PostgreSQL. Si la version fork ou développée modifie le format des champs sur lesquels pgBackRest dépend, cela entraînera un comportement imprévu. En général, cette option ne fonctionnera correctement que si le fork ajoute tous les membres de structure personnalisés après les membres standard de PostgreSQL.
Options du dépôt
Option de conteneur de dépôt Azure (--repo-azure-container)
Conteneur de dépôt Azure.
Conteneur Azure utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés dans la racine du conteneur en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par Azure dans le conteneur.
Type de clé du dépôt Azure (--repo-azure-key-type)
Type de clé du dépôt Azure.
Les types suivants sont pris en charge pour l’autorisation :
shared- Clé partagéesas- Signature d’accès partagéauto- Autorisation automatique à l’aide d’identités managées Azure
Option de style d’URI de dépôt Azure (--repo-azure-uri-style)
Style URI Azure.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôteaccount.endpoint.path- Se connecter à l’hôteendpointet préfixer le compte aux URI.
Type de chiffrement du dépôt (--repo-cipher-type)
Chiffrement 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 longueur de clé de 256 bits
Notez que le chiffrement est toujours effectué côté client, même si le type de dépôt (par exemple S3) prend en charge le chiffrement.
Option de bac de dépôt GCS (--repo-gcs-bucket)
Dépôt de bucket GCS.
Dépôt GCS utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par GCS dans le bucket.
Option de point de terminaison du dépôt GCS (--repo-gcs-endpoint)
Point de terminaison du dépôt GCS.
Point d’accès utilisé pour se connecter au service de stockage. Peut être mis à jour pour utiliser un serveur local GCS ou un point d’accès alternatif.
Type de clé du dépôt GCS (--repo-gcs-key-type)
Type de clé du dépôt GCS.
Les types suivants sont pris en charge pour l’autorisation :
auto- Autoriser à l’aide du compte de service de l’instance.service- Compte de service à partir d’une clé stockée localement.token- À utiliser pour les tests locaux, par exemplefakegcs.
Lorsque repo-gcs-key-type=service, les identifiants seront rechargés lorsque le jeton d’authentification sera renouvelé.
Option ID du projet du dépôt GCS (--repo-gcs-user-project)
Identifiant du projet GCS.
ID du projet GCS utilisé pour déterminer la facturation des requêtes.
Option hôte du dépôt (--repo-host)
Hôte du dépôt lors de l’opération à distance.
Lors de la sauvegarde et de l’archivage vers un système de fichiers monté localement, ce paramètre n’est pas requis.
Nom obsolète : backup-host
Option du fichier de l’autorité de certification hôte du dépôt (--repo-host-ca-file)
Fichier de l’autorité de certification du serveur de dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour vous connecter à l’hôte du dépôt.
Option Chemin de l’autorité de certification du dépôt (--repo-host-ca-path)
Chemin de l’autorité de certification du serveur de dépôt.
Utilisez un chemin de certificat d’autorité (CA) autre que celui par défaut du système pour établir la connexion avec l’hôte du dépôt.
Option de fichier de certificat d’hôte du dépôt (--repo-host-cert-file)
Fichier de certificat d’hôte du dépôt.
Envoyé à l’hôte du dépôt pour prouver l’identité du client.
Option de commande hôte du dépôt (--repo-host-cmd)
Hôte du dépôt commande pgBackRest.
Requis uniquement si le chemin vers la commande pgBackRest est différent sur les hôtes local et de dépôt. Si non défini, la commande de dépôt sera définie de la même manière que celle de l’hôte local.
Nom obsolète : backup-cmd
Option de configuration de l’hôte du dépôt (--repo-host-config)
Fichier de configuration du serveur de dépôt pgBackRest.
Spécifie l’emplacement du fichier de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le fichier de configuration de l’hôte du dépôt se trouve dans un emplacement différent du fichier de configuration local.
Nom obsolète : sauvegarde-config
Option de chemin d’inclusion de configuration d’hôte de dépôt (--repo-host-config-include-path)
Configuration du serveur de dépôt pgBackRest incluant le chemin.
Définit l’emplacement du chemin d’inclusion de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin d’inclusion de configuration de l’hôte du dépôt est différent du chemin d’inclusion de configuration local.
Chemin de configuration de l’hôte du dépôt (--repo-host-config-path)
Chemin de configuration du serveur de dépôt pgBackRest.
Définit l’emplacement du chemin de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin de configuration de l’hôte du dépôt est différent du chemin de configuration local.
Option de fichier de clé hôte du dépôt (--repo-host-key-file)
Fichier de clé hôte du dépôt.
Vérifie que le certificat client a été envoyé par le propriétaire.
Option de port 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 du serveur du dépôt.
NOTE : Lorsque
repo-host-type=ssh, il n’existe pas de valeur par défaut pourrepo-host-port. Dans ce cas, le port sera celui configuré pour la commande spécifiée parcmd-ssh.
Nom obsolète : backup-ssh-port
Type de protocole d’hôte de dépôt (--repo-host-type)
Type de protocole d’hôte de dépôt.
Les types de protocole suivants sont pris en charge :
ssh- Shell sécurisé.tls- Serveur TLS pgBackRest.
Option d’utilisateur hôte de dépôt (--repo-host-user)
Utilisateur hôte du dépôt lorsque repo-host est défini.
Définit l’utilisateur utilisé pour les opérations sur l’hôte du dépôt. Il est préférable que ce ne soit pas l’utilisateur postgres, mais plutôt un autre utilisateur tel que pgbackrest. Si PostgreSQL s’exécute sur l’hôte du dépôt, l’utilisateur postgres peut être ajouté au groupe pgbackrest afin d’avoir des permissions de lecture sur le dépôt sans pouvoir accidentellement le modifier.
Nom obsolète : backup-user
Option Chemin du dépôt (--repo-path)
Chemin où les sauvegardes et l’archive sont stockées.
Le dépôt est l’emplacement où pgBackRest stocke les sauvegardes et les archives des segments WAL.
Il peut être difficile de prévoir à l’avance l’espace nécessaire. La meilleure approche consiste à effectuer quelques sauvegardes, puis à noter la taille des différents types de sauvegardes (pleines, incrémentielles, différentielles) et à mesurer la quantité de WAL générée par jour. Cela vous donnera une idée générale de l’espace requis, bien que les besoins évoluent probablement au fil du temps avec l’évolution de votre base de données.
Option de bac de dépôt S3 (--repo-s3-bucket)
Dépôt S3.
Dépôt S3 utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par AWS dans le bucket.
Option de point de terminaison du dépôt S3 (--repo-s3-endpoint)
Point de terminaison du dépôt S3.
Le point de terminaison AWS doit être valide pour la région sélectionnée.
Pour les configurations personnalisées ou les tests, les options repo-storage-ca-file, repo-storage-ca-path, repo-storage-host, repo-storage-port, et repo-storage-verify-tls peuvent être utiles.
Type de clé du dépôt S3 (--repo-s3-key-type)
Type de clé pour le dépôt S3.
Les types suivants sont pris en charge :
shared- Clés partagéesauto- Récupérer automatiquement les identifiants temporairesweb-id- Récupérer automatiquement les identifiants d’identité webpod-id- Récupérer automatiquement les identifiants d’identité de pod EKSprocess- Récupérer les identifiants en exécutant un processus
Option ID de clé KMS pour dépôt S3 (--repo-s3-kms-key-id)
Clé KMS du dépôt S3.
Active le chiffrement côté serveur S3 en utilisant la clé du service de gestion des clés AWS spécifiée.
Option de commande du processus d’authentification S3 (--repo-s3-process-cmd)
Commande du processus d’authentification S3.
Commande (et arguments facultatifs) à exécuter pour récupérer les identifiants temporaires S3. Le premier élément de la liste est la commande, les éléments suivants sont passés en tant que paramètres.
Le processus doit produire un JSON contenant les champs AccessKeyId, SecretAccessKey, SessionToken et Expiration. Les identifiants seront automatiquement actualisés avant l’expiration. Voir Process Credential Provider
pour les détails du format.
Option de région du dépôt S3 (--repo-s3-region)
Région du dépôt S3.
La région AWS où le bucket a été créé.
Option Requesteur Payant pour le dépôt S3 (--repo-s3-requester-pays)
Dépôt S3 payeur de la demande.
Active le paiement par le demandeur S3.
Option de rôle du dépôt S3 (--repo-s3-role)
Rôle du dépôt S3.
Le nom du rôle AWS (pas le nom ARN complet) utilisé pour récupérer les identifiants temporaires lorsque repo-s3-key-type=auto.
Option de service de dépôt S3 (--repo-s3-service)
Service de signature S3.
Le service de signature S3 utilisé dans l’authentification SigV4. La valeur par défaut est s3 pour les points d’accès S3 standards. À définir sur s3-outposts lors de l’utilisation d’un point d’accès S3 Outposts.
Option de point de terminaison STS du dépôt S3 (--repo-s3-sts-host)
Point de terminaison STS du dépôt S3.
Point de terminaison STS utilisé pour récupérer des identifiants temporaires lorsque repo-s3-key-type=web-id est configuré. Définissez-le sur un point de terminaison régional (par exemple sts.us-east-1.amazonaws.com) pour utiliser STS régional, ce qui peut être nécessaire pour les régions GovCloud, Chine, ou pour réduire la latence.
Option de style d’URI de dépôt S3 (--repo-s3-uri-style)
Style d’URI S3.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôtebucket.endpoint.path- Se connecter à l’hôteendpointet préfixer les URI par le répertoire.
Option hôte du dépôt SFTP (--repo-sftp-host)
Hôte du dépôt SFTP.
Hôte SFTP contenant le dépôt.
Fingerprint de l’hôte du dépôt SFTP (--repo-sftp-host-fingerprint)
Empreinte du serveur hôte du dépôt SFTP.
La génération de l’empreinte d’hôte du dépôt SFTP doit correspondre à repo-sftp-host-key-hash-type. Générez l’empreinte via awk '{print $2}' ssh_host_xxx_key.pub | base64 -d | (md5sum or sha1sum) -b. Les clés d’hôte SSH se trouvent normalement dans le répertoire /etc/ssh.
Type d’option de vérification de la clé hôte SFTP (--repo-sftp-host-key-check-type)
Type de vérification de la clé hôte SFTP.
Les types de vérification de clé d’hôte SFTP suivants sont pris en charge :
strict- pgBackRest n’ajoutera jamais automatiquement les clés d’hôte au fichier ~/.ssh/known_hosts, et refusera de se connecter aux hôtes dont la clé d’hôte a changé ou n’est pas trouvée dans les fichiers known hosts. Cette option oblige l’utilisateur à ajouter manuellement tous les nouveaux hôtes.accept-new- pgBackRest ajoutera automatiquement les nouvelles clés d’hôte au fichier known hosts de l’utilisateur, mais n’autorisera pas les connexions aux hôtes dont la clé d’hôte a changé.fingerprint- pgBackRest vérifiera la clé d’hôte contre l’empreinte spécifiée par l’optionrepo-sftp-host-fingerprint.none- aucune vérification de clé d’hôte ne sera effectuée.
Type de hachage de la clé hôte du dépôt SFTP (--repo-sftp-host-key-hash-type)
Type de hachage de la clé d’hôte du dépôt SFTP.
Type de hachage de la clé hôte du dépôt SFTP. Déclare le type de hachage à utiliser pour calculer le hachage de la clé hôte du système distant au démarrage SSH. Les versions plus récentes de libssh2 prennent en charge sha256 en plus de md5 et sha1.
Option de port hôte du dépôt SFTP (--repo-sftp-host-port)
Port hôte du dépôt SFTP.
Port hôte du dépôt SFTP.
Option utilisateur hôte dépôt SFTP (--repo-sftp-host-user)
Utilisateur hôte du dépôt SFTP.
Utilisateur sur l’hôte utilisé pour stocker le dépôt.
Option fichier Hôtes SFTP connus (--repo-sftp-known-host)
Fichier d’hôtes SFTP connus.
Fichier known hosts à consulter pour rechercher une correspondance avec un hôte SFTP lors de l’authentification. Si non spécifié, pgBackRest recherchera par défaut dans ~/.ssh/known_hosts, ~/.ssh/known_hosts2, /etc/ssh/ssh_known_hosts et /etc/ssh/ssh_known_hosts2. Si configuré avec un ou plusieurs chemins de fichier, pgBackRest recherchera dans ces fichiers une correspondance. Les chemins de fichier doivent être complets ou commencer par un tilde. L’option repo-sftp-known-host peut être spécifiée plusieurs fois pour indiquer plusieurs fichiers known hosts à consulter. Pour utiliser la vérification du fichier known hosts, l’option repo-sftp-host-fingerprint ne doit pas être définie. Voir également l’option repo-sftp-host-check-type.
Option fichier de clé privée du dépôt SFTP (--repo-sftp-private-key-file)
Fichier de clé privée SFTP.
Fichier de clé privée SFTP utilisé pour l’authentification.
Option de fichier de clé publique du dépôt SFTP (--repo-sftp-public-key-file)
Fichier de clé publique SFTP.
Fichier de clé publique SFTP utilisé pour l’authentification. Facultatif si compilé contre OpenSSL, obligatoire si compilé contre une autre bibliothèque.
Option du fichier CA du dépôt de stockage (--repo-storage-ca-file)
Fichier de certificat d’autorité de certification pour le dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-file, repo-s3-ca-file
Option de chemin du certificat CA TLS pour le dépôt (--repo-storage-ca-path)
Chemin du certificat d’autorité de certification du dépôt.
Utilisez un chemin de certificat d’autorité de certification (CA) autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-path, repo-s3-ca-path
Option hôte de stockage du dépôt (--repo-storage-host)
Hôte de stockage du dépôt.
Se connecter à un hôte autre que le point de terminaison de stockage (par exemple S3, Azure). Cela est généralement utilisé pour les tests.
Noms obsolètes : repo-azure-host, repo-s3-host
Option de port du stockage du dépôt (--repo-storage-port)
Port du stockage du dépôt.
Port à utiliser lors de la connexion au point de terminaison du stockage (par exemple S3, Azure) ou à l’hôte (le cas échéant).
Noms obsolètes : repo-azure-port, repo-s3-port
Option d’étiquette de stockage du dépôt (--repo-storage-tag)
Étiquette(s) de stockage du dépôt.
Spécifiez les balises à ajouter aux objets lorsque le dépôt est un magasin d’objets (par exemple, S3). L’option peut être répétée pour ajouter plusieurs balises.
Il n’existe aucune fonctionnalité dans pgBackRest permettant de modifier ces balises ; veillez donc à les définir correctement avant d’exécuter stanza-create afin d’assurer une cohérence des balises dans l’ensemble du dépôt.
Option de taille de morceau de chargement du dépôt (--repo-storage-upload-chunk-size)
Taille du morceau de chargement du dépôt.
Les magasins d’objets tels que S3 permettent de télécharger des fichiers par morceaux lorsque le fichier est trop volumineux pour être stocké en mémoire. Même si le fichier peut être stocké en mémoire, il est plus efficace en mémoire de limiter la quantité de mémoire utilisée pour les téléchargements.
Une taille de morceau plus élevée entraîne généralement de meilleures performances, car elle réduit le nombre de requêtes de téléchargement et permet de télécharger plus de fichiers en une seule requête plutôt qu’en morceaux. Le désavantage est que la consommation mémoire sera plus élevée, et comme la mémoire tampon de morceau doit être allouée par processus, des valeurs plus élevées de process-max entraînent une consommation mémoire globale plus importante.
Notez que les tailles de morceau valides varient selon le type de stockage et la plateforme. Par exemple, AWS S3 impose une taille minimale de morceau de 5MiB. La terminologie relative à la taille du morceau varie selon le type de stockage ; utilisez donc « part size » pour AWS S3, « chunk size » pour GCS et « block size » pour Azure lorsque vous recherchez les valeurs minimales ou maximales.
Si un fichier est plus grand que 1GiB (la taille maximale que PostgreSQL crée par défaut), la taille de tranche sera augmentée progressivement jusqu’à la valeur maximale autorisée afin de terminer le téléchargement du fichier.
Option de vérification du certificat de stockage du dépôt (--repo-storage-verify-tls)
Vérification du certificat du dépôt de stockage.
Cette option permet d’activer/désactiver la vérification du certificat TLS du serveur de stockage (par exemple, S3, Azure). La désactivation ne doit être utilisée que pour des tests ou d’autres scénarios où un certificat a été auto-signé.
Noms obsolètes : repo-azure-verify-tls, repo-s3-verify-ssl, repo-s3-verify-tls
Option de type de dépôt (--repo-type)
Type de stockage utilisé pour le dépôt.
Les types de dépôt suivants sont pris en charge :
azure- Service de stockage Blob Azurecifs- Commeposix, mais désactive les liens et les fsyncs de répertoiregcs- Google Cloud Storageposix- Systèmes de fichiers conformes à Posixs3- AWS Simple Storage Servicesftp- Protocole de transfert de fichiers sécurisé
Lorsqu’un montage NFS est utilisé comme dépôt posix, les mêmes règles s’appliquent à pgBackRest qu’indiquées dans la documentation PostgreSQL : Création d’un cluster de base de données - Systèmes de fichiers
.
Options de stanza
Option base de données PostgreSQL (--pg-database)
Base de données PostgreSQL.
Le nom de la base de données utilisé lors de la connexion à PostgreSQL. La valeur par défaut est généralement la meilleure option, mais certaines installations peuvent ne pas contenir cette base de données.
Notez que, pour des raisons historiques, le paramétrage de la variable d’environnement PGDATABASE sera ignoré.
Option Hôte PostgreSQL (--pg-host)
Hôte PostgreSQL pour une opération à distance.
Utilisé pour les sauvegardes où l’hôte PostgreSQL est différent de l’hôte du dépôt.
Nom obsolète : db-host
Option Fichier de l’Autorité de certification du serveur PostgreSQL (--pg-host-ca-file)
Fichier de l’autorité de certification du serveur PostgreSQL.
Utilisez un fichier CA autre que celui par défaut du système pour vous connecter à l’hôte PostgreSQL.
Option Chemin de l’Autorité de certification du serveur PostgreSQL (--pg-host-ca-path)
Chemin de l’autorité de certification du serveur PostgreSQL.
Utilisez un chemin de certificat d’autorité de certification (CA) autre que celui par défaut du système pour établir la connexion avec l’hôte PostgreSQL.
Option Fichier de certificat d’hôte PostgreSQL (--pg-host-cert-file)
Fichier de certificat d’hôte PostgreSQL.
Envoyé à l’hôte PostgreSQL pour prouver l’identité du client.
Option de commande hôte PostgreSQL (--pg-host-cmd)
Hôte PostgreSQL : commande pgBackRest.
Requis uniquement si le chemin vers la commande pgBackRest est différent sur les hôtes locaux et PostgreSQL. Si ce n’est pas défini, la commande sur l’hôte PostgreSQL sera définie de la même manière que celle sur l’hôte local.
Nom obsolète : db-cmd
Option de configuration hôte PostgreSQL (--pg-host-config)
Fichier de configuration du serveur de base de données pgBackRest.
Spécifie l’emplacement du fichier de configuration sur l’hôte PostgreSQL. Cette option est nécessaire uniquement si le fichier de configuration PostgreSQL est situé à un emplacement différent du fichier de configuration local.
Nom obsolète : db-config
Chemin d’inclusion de la configuration hôte PostgreSQL (--pg-host-config-include-path)
Configuration de l’hôte de base de données pgBackRest incluant le chemin.
Définit l’emplacement du chemin d’inclusion de configuration sur l’hôte PostgreSQL. Cette option est nécessaire uniquement si le chemin d’inclusion de configuration PostgreSQL se trouve dans un emplacement différent du chemin d’inclusion de configuration local.
Option de chemin de configuration de l’hôte PostgreSQL (--pg-host-config-path)
Chemin de configuration de l’hôte de base de données pgBackRest.
Définit l’emplacement du chemin de configuration sur l’hôte PostgreSQL. Cette option est nécessaire uniquement si le chemin de configuration PostgreSQL se trouve dans un emplacement différent du chemin de configuration local.
Option fichier clé hôte PostgreSQL (--pg-host-key-file)
Fichier de clé hôte PostgreSQL.
Vérifie que le certificat client a été envoyé par le propriétaire.
Option Port hôte PostgreSQL (--pg-host-port)
Port de l’hôte PostgreSQL lorsque pg-host est défini.
Utilisez cette option pour spécifier un port non par défaut pour le protocole d’hôte PostgreSQL.
NOTE : Lorsque
pg-host-type=ssh, il n’existe pas de valeur par défaut pourpg-host-port. Dans ce cas, le port sera celui configuré pour la commande spécifiée parcmd-ssh.
Nom obsolète : db-ssh-port
Type de protocole d’hôte PostgreSQL (--pg-host-type)
Type de protocole hôte PostgreSQL.
Les types de protocole suivants sont pris en charge :
ssh- Shell sécurisé.tls- Serveur TLS pgBackRest.
Option utilisateur hôte PostgreSQL (--pg-host-user)
Utilisateur de connexion au serveur PostgreSQL lorsqu’pg-host est défini.
Cet utilisateur possédera également le processus pgBackRest distant et initiera les connexions à PostgreSQL. Pour que cela fonctionne correctement, l’utilisateur doit être le propriétaire du cluster de base de données PostgreSQL, ce qui correspond généralement à postgres, la valeur par défaut.
Nom obsolète : db-user
Option Chemin PostgreSQL (--pg-path)
Répertoire de données PostgreSQL.
Il doit être identique à la valeur data_directory rapportée par PostgreSQL. Même si cette valeur peut être lue à divers endroits, il est prudent de la définir afin de garantir sa disponibilité en cas de restauration ou de sauvegarde hors ligne.
L’option pg-path est vérifiée par rapport à la valeur rapportée par PostgreSQL à chaque sauvegarde en ligne, elle doit donc toujours être à jour.
Nom obsolète : db-path
Option de port PostgreSQL (--pg-port)
Port PostgreSQL.
Port sur lequel PostgreSQL est en cours d’exécution. Ce paramètre n’a généralement pas besoin d’être spécifié, car la plupart des clusters PostgreSQL s’exécutent sur le port par défaut.
Nom obsolète : db-port
Option Chemin du socket PostgreSQL (--pg-socket-path)
Chemin du socket Unix de PostgreSQL.
Répertoire du socket Unix spécifié lors du démarrage de PostgreSQL. pgBackRest recherche automatiquement dans l’emplacement standard de votre système d’exploitation, aussi il est généralement inutile de préciser ce paramètre, sauf si le répertoire du socket a été explicitement modifié à l’aide du paramètre unix_socket_directories dans postgresql.conf.
Nom obsolète : db-socket-path
Option utilisateur de base de données PostgreSQL (--pg-user)
Utilisateur de base de données PostgreSQL.
Le nom d’utilisateur de la base de données utilisé lors de la connexion à PostgreSQL. Si non spécifié, pgBackRest se connectera avec l’utilisateur système local ou PGUSER.
4.6 - Commande d'expiration (expire)
expire.pgBackRest effectue la rotation des sauvegardes complètes selon le type de rétention, qui peut être défini par un nombre ou une période de temps. Lorsqu’un nombre est spécifié, l’expiration n’est pas liée à la date de création des sauvegardes, mais au nombre de sauvegardes à conserver. Les sauvegardes différentielles sont basées sur un nombre, mais sont toujours expirées lorsque la sauvegarde complète dont elles dépendent est expirée. Les sauvegardes incrémentielles ne sont pas expirées indépendamment par rétention — elles sont toujours expirées en même temps que leur sauvegarde complète ou différentielle associée. Pour plus de détails et d’exemples, reportez-vous aux sections Rétention des sauvegardes complètes et Rétention des sauvegardes différentielles .
L’archive WAL est conservée par défaut pour les sauvegardes n’ayant pas expiré, mais, bien que non recommandé, ce délai peut être modifié par dépôt à l’aide de l’option retention-archive. Voir la section Archive Retention pour les détails et exemples.
La commande expire s’exécute automatiquement après chaque sauvegarde réussie et peut également être exécutée par l’utilisateur. Lorsqu’elle est exécutée par l’utilisateur, l’expiration s’effectue selon les paramètres de rétention définis pour chaque dépôt configuré. Si l’option --repo est fournie, l’expiration s’applique uniquement au dépôt spécifié. L’expiration peut également être limitée par l’utilisateur à un jeu de sauvegarde spécifique à l’aide de l’option --set, et, sauf si l’option --repo est spécifiée, tous les dépôts seront recherchés et tous ceux correspondant aux critères seront supprimés. Il convient de noter que la planification de rétention des archives sera vérifiée et appliquée chaque fois que la commande expire est exécutée.
Options de commande
Option d’expiration de l’archive avant (--archive-expire-before)
Supprimez les archives WAL antérieures au segment WAL spécifié.
Supprime les segments WAL antérieurs au segment spécifié, mais uniquement ceux qui ne sont pas requis par une sauvegarde conservée, c’est-à-dire les segments antérieurs à la plus ancienne sauvegarde à conserver, ou tout segment lorsque le dépôt ne contient aucune sauvegarde. Le segment spécifié et tous les segments suivants sont conservés. Cette option correspond à la valeur passée par PostgreSQL à archive_cleanup_command comme %r.
Cette option est principalement destinée aux dépôts en mode archive uniquement, où aucune sauvegarde n’est stockée. Elle peut également être utilisée pour récupérer de l’espace d’archive WAL avant la première sauvegarde, lorsque la rétention complète n’a pas encore été atteinte, afin de déclencher l’expiration de l’archive.
Option la plus ancienne (--oldest)
Expire la sauvegarde la plus ancienne éligible.
Expire la plus ancienne sauvegarde complète pouvant être supprimée (c’est-à-dire qu’au moins une sauvegarde complète plus récente reste). Cela équivaut à diminuer manuellement la rétention de un, mais est calculé automatiquement. Toutes les sauvegardes associées au jeu de sauvegardes complètes expirées (différentielles et incrémentielles) sont également expirées.
Lorsqu’il est utilisé, la rétention des archives est également ajustée temporairement afin de pouvoir supprimer les WAL des sauvegardes expirées lors du même traitement.
Si la rétention basée sur le temps est configurée (à l’aide de --repo-retention-full-type=time), alors --oldest utilise une expiration basée sur le nombre pour cette exécution.
AVERTISSEMENT :
Cette option ne peut pas être combinée avec --set.
Définir l’option (--set)
Sauvegarde marquée pour expiration.
L’ensemble de sauvegarde spécifié (c’est-à-dire l’étiquette de sauvegarde fournie et toutes ses sauvegardes dépendantes, le cas échéant) sera expiré, quelle que soit la règle de rétention des sauvegardes, à condition qu’au moins une sauvegarde complète reste présente dans le dépôt.
AVERTISSEMENT :
Utilisez cette option avec la plus grande prudence : elle supprimera définitivement toutes les sauvegardes et archives non nécessaires à la cohérence d’une sauvegarde du dépôt pgBackRest pour l’ensemble de sauvegarde spécifié. Ce processus peut rendre impossible la récupération à un point précis dans le temps (PITR). Si les options --repo-retention-full et/ou --repo-retention-archive sont configurées, il est recommandé de les remplacer en définissant leurs valeurs au maximum lors d’une expiration ponctuelle afin d’éviter une suppression involontaire d’archives.
Options générales
Autoriser l’exécution en tant qu’utilisateur root (--allow-root)
Permettre à la commande de s’exécuter en tant qu’utilisateur root.
Par défaut, seul la commande restore peut être exécutée en tant qu’utilisateur root, car elle est conçue pour gérer soigneusement les propriétés des fichiers. Exécuter d’autres commandes en tant que root risque de créer des fichiers (par exemple dans le dépôt) dont le propriétaire est root, rendant ces fichiers inaccessibles à l’utilisateur PostgreSQL, ce qui entraîne l’échec des commandes ultérieures.
Activez cette option pour exécuter une commande en tant qu’utilisateur root malgré tout. Toutefois, il est bien préférable d’exécuter pgBackRest en tant qu’utilisateur propriétaire du dépôt et du cluster PostgreSQL.
Option Taille tampon (--buffer-size)
Taille du tampon pour les opérations d’E/S.
Taille de tampon utilisée pour les opérations de copie, de compression, de chiffrement et autres. Le nombre de tampons utilisés dépend des options, et chaque opération peut utiliser une mémoire supplémentaire, par exemple, la compression gz peut utiliser jusqu’à 256KiB de mémoire supplémentaire.
Les valeurs autorisées sont 16KiB, 32KiB, 64KiB, 128KiB, 256KiB, 512KiB, 1MiB, 2MiB, 4MiB, 8MiB et 16MiB.
Option de commande client SSH (--cmd-ssh)
Commande cliente SSH.
Utilisez une commande cliente SSH spécifique lorsque vous souhaitez utiliser une alternative ou que la commande ssh n’est pas disponible dans $PATH.
Option niveau de compression réseau (--compress-level-network)
Niveau de compression du réseau.
Définit le niveau de compression réseau lorsque compress-type=none et la commande ne sont pas exécutées sur le même hôte que le dépôt. La compression est utilisée pour réduire le trafic réseau. Lorsque compress-type est différent de none, le paramètre compress-level-network est ignoré et compress-level est utilisé à la place, afin que le fichier ne soit compressé qu’une seule fois.
Option de configuration (--config)
Fichier de configuration pgBackRest.
Utilisez cette option pour spécifier un fichier de configuration différent du fichier par défaut.
Option Chemin d’inclusion de configuration (--config-include-path)
Chemin vers les fichiers de configuration supplémentaires de pgBackRest.
Les fichiers de configuration se trouvant dans l’emplacement spécifié et ayant l’extension .conf seront concaténés au fichier de configuration de pgBackRest, ce qui donne un seul fichier de configuration.
Option de chemin de configuration (--config-path)
Chemin de base des fichiers de configuration de pgBackRest.
Ce paramètre est utilisé pour remplacer le chemin de base par défaut pour les options --config et --config-include-path, sauf si ces dernières sont explicitement définies en ligne de commande.
Par exemple, passer uniquement --config-path=/conf/pgbackrest fait que la valeur par défaut de --config est définie à /conf/pgbackrest/pgbackrest.conf et que la valeur par défaut de --config-include-path est définie à /conf/pgbackrest/conf.d.
Option de simulation (--dry-run)
Exécutez une exécution en mode simulation pour la commande.
L’option --dry-run est une option uniquement disponible en ligne de commande et peut être utilisée lorsque l’on souhaite déterminer quels changements seront apportés par la commande sans que celle-ci effectue réellement de modification.
Option d’expiration I/O (--io-timeout)
Délai d’attente d’E/S dépassé.
Délai d’attente, en secondes, utilisé pour les connexions et les opérations de lecture/écriture.
Notez que l’opération de lecture/écriture entière n’a pas besoin de se terminer dans ce délai d’attente, mais une certaine progression doit être réalisée, même si elle ne concerne qu’un seul octet.
Option Chemin verrou (--lock-path)
Chemin où les fichiers verrou sont stockés.
Le chemin de verrouillage fournit un emplacement où pgBackRest peut créer des fichiers de verrouillage afin d’empêcher l’exécution simultanée d’opérations en conflit.
Option de masque neutre (--neutral-umask)
Utilisez un umask neutre.
Définit le umask à 0000 afin que les modes du dépôt soient créés de manière cohérente. Le mode par défaut du répertoire est 0750 et le mode par défaut du fichier est 0640.
Pour utiliser le umask de l’utilisateur en cours, spécifiez neutral-umask=n dans le fichier de configuration ou --no-neutral-umask en ligne de commande.
Définir l’option de priorité du processus (--priority)
Définir la priorité du processus.
Définit la priorité (c’est-à-dire la valeur de niceness) accordée au processus par l’ordonnanceur du noyau. Les valeurs positives réduisent la priorité, tandis que les valeurs négatives l’augmentent. Dans la plupart des cas, les processus ne disposent pas des autorisations nécessaires pour augmenter leur priorité.
Option délai d’attente du protocole (--protocol-timeout)
Délai d’attente du protocole.
Définit le délai d’attente, en secondes, durant lequel le processus local ou distant attend qu’un nouveau message soit reçu au niveau du protocole. Cela empêche les processus de rester bloqués indéfiniment en attente d’un message.
NOTE : L’option
protocol-timeoutdoit être supérieure à l’optiondb-timeout.
Option Keep Alive (--sck-keep-alive)
Activation du keep-alive.
Active les messages keep-alive sur les connexions socket.
Option stanza (--stanza)
Définit la stanza.
Une stanza est la configuration d’un cluster de base de données PostgreSQL qui définit son emplacement, la manière dont il sera sauvegardé, les options d’archivage, etc. La plupart des serveurs de base de données n’ont qu’un seul cluster PostgreSQL et donc une seule stanza, tandis que les serveurs de sauvegarde ont une stanza pour chaque cluster de base de données à sauvegarder.
Il est tentant de nommer la stanza en fonction du cluster principal, mais un nom plus pertinent décrit les bases de données contenues dans le cluster. Étant donné que le nom de la stanza sera utilisé pour le principal et toutes les répliques, il est préférable de choisir un nom qui décrit la fonction réelle du cluster, par exemple app ou dw, plutôt que le nom local du cluster, comme main ou prod.
Option de nombre de connexions Keep Alive (--tcp-keep-alive-count)
Nombre de maintien de connexion.
Spécifie le nombre de messages TCP keep-alive pouvant être perdus avant que la connexion ne soit considérée comme inactive.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPCNT.
Option d’idle Keep Alive (--tcp-keep-alive-idle)
Délai d’inactivité pour la maintien de la connexion.
Spécifie la durée (en secondes) pendant laquelle aucune activité réseau ne se produit, après laquelle le système d’exploitation doit envoyer un message de maintien de connexion TCP.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPIDLE.
Option Intervalle Keep Alive (--tcp-keep-alive-interval)
Intervalle de temps pour la maintien de la connexion active.
Spécifie la durée (en secondes) après laquelle un message TCP keep-alive non reconnu doit être renvoyé.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPINTVL.
Suites de chiffrement TLSv1.2 Option (--tls-cipher-12)
Suites de chiffrement TLSv1.2 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. L’exemple proposé constitue un choix raisonnable sauf si des exigences de sécurité spécifiques s’appliquent. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Suites de chiffrement TLSv1.3 Option (--tls-cipher-13)
Suites de chiffrement TLSv1.3 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Options de journalisation
Niveau de journalisation de la console (--log-level-console)
Niveau de journalisation pour la console.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation du fichier (--log-level-file)
Niveau de journalisation des fichiers.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation des erreurs standard (--log-level-stderr)
Niveau de journalisation pour stderr.
Spécifie les niveaux de journalisation qui seront envoyés vers stderr plutôt que vers stdout (spécifié par log-level-console). L’horodatage et le processus ne seront pas envoyés vers stderr.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Option Chemin Journal (--log-path)
Chemin où les fichiers de journalisation sont stockés.
Le chemin de journalisation fournit un emplacement où pgBackRest peut stocker les fichiers de journalisation. Notez que si log-level-file=off, aucun chemin de journalisation n’est requis.
Option de journalisation des sous-processus (--log-subprocess)
Activer la journalisation dans les sous-processus.
Activez la journalisation des fichiers pour tout sous-processus créé par ce processus, en utilisant le niveau de journalisation spécifié par log-level-file.
Option de timestamp de journal (--log-timestamp)
Activer les horodatages dans la journalisation.
Active l’horodatage dans la journalisation console et fichier. Cette option est désactivée dans des situations spéciales, telles que la génération de documentation.
Options du dépôt
Définir l’option dépôt (--repo)
Définir le dépôt.
Spécifiez le dépôt sur lequel une commande doit s’opérer.
Par exemple, cette option peut être utilisée pour effectuer une restauration à partir d’un dépôt spécifique, plutôt que de laisser pgBackRest choisir.
Option de conteneur de dépôt Azure (--repo-azure-container)
Conteneur de dépôt Azure.
Conteneur Azure utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés dans la racine du conteneur en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par Azure dans le conteneur.
Type de clé du dépôt Azure (--repo-azure-key-type)
Type de clé du dépôt Azure.
Les types suivants sont pris en charge pour l’autorisation :
shared- Clé partagéesas- Signature d’accès partagéauto- Autorisation automatique à l’aide d’identités managées Azure
Option de style d’URI de dépôt Azure (--repo-azure-uri-style)
Style URI Azure.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôteaccount.endpoint.path- Se connecter à l’hôteendpointet préfixer le compte aux URI.
Type de chiffrement du dépôt (--repo-cipher-type)
Chiffrement 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 longueur de clé de 256 bits
Notez que le chiffrement est toujours effectué côté client, même si le type de dépôt (par exemple S3) prend en charge le chiffrement.
Option de bac de dépôt GCS (--repo-gcs-bucket)
Dépôt de bucket GCS.
Dépôt GCS utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par GCS dans le bucket.
Option de point de terminaison du dépôt GCS (--repo-gcs-endpoint)
Point de terminaison du dépôt GCS.
Point d’accès utilisé pour se connecter au service de stockage. Peut être mis à jour pour utiliser un serveur local GCS ou un point d’accès alternatif.
Type de clé du dépôt GCS (--repo-gcs-key-type)
Type de clé du dépôt GCS.
Les types suivants sont pris en charge pour l’autorisation :
auto- Autoriser à l’aide du compte de service de l’instance.service- Compte de service à partir d’une clé stockée localement.token- À utiliser pour les tests locaux, par exemplefakegcs.
Lorsque repo-gcs-key-type=service, les identifiants seront rechargés lorsque le jeton d’authentification sera renouvelé.
Option ID du projet du dépôt GCS (--repo-gcs-user-project)
Identifiant du projet GCS.
ID du projet GCS utilisé pour déterminer la facturation des requêtes.
Option hôte du dépôt (--repo-host)
Hôte du dépôt lors de l’opération à distance.
Lors de la sauvegarde et de l’archivage vers un système de fichiers monté localement, ce paramètre n’est pas requis.
Nom obsolète : backup-host
Option du fichier de l’autorité de certification hôte du dépôt (--repo-host-ca-file)
Fichier de l’autorité de certification du serveur de dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour vous connecter à l’hôte du dépôt.
Option Chemin de l’autorité de certification du dépôt (--repo-host-ca-path)
Chemin de l’autorité de certification du serveur de dépôt.
Utilisez un chemin de certificat d’autorité (CA) autre que celui par défaut du système pour établir la connexion avec l’hôte du dépôt.
Option de fichier de certificat d’hôte du dépôt (--repo-host-cert-file)
Fichier de certificat d’hôte du dépôt.
Envoyé à l’hôte du dépôt pour prouver l’identité du client.
Option de commande hôte du dépôt (--repo-host-cmd)
Hôte du dépôt commande pgBackRest.
Requis uniquement si le chemin vers la commande pgBackRest est différent sur les hôtes local et de dépôt. Si non défini, la commande de dépôt sera définie de la même manière que celle de l’hôte local.
Nom obsolète : backup-cmd
Option de configuration de l’hôte du dépôt (--repo-host-config)
Fichier de configuration du serveur de dépôt pgBackRest.
Spécifie l’emplacement du fichier de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le fichier de configuration de l’hôte du dépôt se trouve dans un emplacement différent du fichier de configuration local.
Nom obsolète : sauvegarde-config
Option de chemin d’inclusion de configuration d’hôte de dépôt (--repo-host-config-include-path)
Configuration du serveur de dépôt pgBackRest incluant le chemin.
Définit l’emplacement du chemin d’inclusion de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin d’inclusion de configuration de l’hôte du dépôt est différent du chemin d’inclusion de configuration local.
Chemin de configuration de l’hôte du dépôt (--repo-host-config-path)
Chemin de configuration du serveur de dépôt pgBackRest.
Définit l’emplacement du chemin de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin de configuration de l’hôte du dépôt est différent du chemin de configuration local.
Option de fichier de clé hôte du dépôt (--repo-host-key-file)
Fichier de clé hôte du dépôt.
Vérifie que le certificat client a été envoyé par le propriétaire.
Option de port 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 du serveur du dépôt.
NOTE : Lorsque
repo-host-type=ssh, il n’existe pas de valeur par défaut pourrepo-host-port. Dans ce cas, le port sera celui configuré pour la commande spécifiée parcmd-ssh.
Nom obsolète : backup-ssh-port
Type de protocole d’hôte de dépôt (--repo-host-type)
Type de protocole d’hôte de dépôt.
Les types de protocole suivants sont pris en charge :
ssh- Shell sécurisé.tls- Serveur TLS pgBackRest.
Option d’utilisateur hôte de dépôt (--repo-host-user)
Utilisateur hôte du dépôt lorsque repo-host est défini.
Définit l’utilisateur utilisé pour les opérations sur l’hôte du dépôt. Il est préférable que ce ne soit pas l’utilisateur postgres, mais plutôt un autre utilisateur tel que pgbackrest. Si PostgreSQL s’exécute sur l’hôte du dépôt, l’utilisateur postgres peut être ajouté au groupe pgbackrest afin d’avoir des permissions de lecture sur le dépôt sans pouvoir accidentellement le modifier.
Nom obsolète : backup-user
Option Chemin du dépôt (--repo-path)
Chemin où les sauvegardes et l’archive sont stockées.
Le dépôt est l’emplacement où pgBackRest stocke les sauvegardes et les archives des segments WAL.
Il peut être difficile de prévoir à l’avance l’espace nécessaire. La meilleure approche consiste à effectuer quelques sauvegardes, puis à noter la taille des différents types de sauvegardes (pleines, incrémentielles, différentielles) et à mesurer la quantité de WAL générée par jour. Cela vous donnera une idée générale de l’espace requis, bien que les besoins évoluent probablement au fil du temps avec l’évolution de votre base de données.
Option de rétention des archives (--repo-retention-archive)
Nombre de sauvegardes de WAL continu à 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 valeur n’est pas définie et que repo-retention-full-type est égal à count (valeur par défaut), alors l’archive à expirer sera par défaut celle correspondant à la valeur de repo-retention-full (ou repo-retention-diff) associée à repo-retention-archive-type si celle-ci est définie à full (ou diff). Cela garantira que les fichiers WAL ne seront supprimés que pour les sauvegardes déjà expirées. Si repo-retention-full-type est égal à time, alors cette valeur sera par défaut définie pour supprimer les archives antérieures à la plus ancienne sauvegarde complète conservée après avoir satisfait le paramètre repo-retention-full.
Cette option doit être définie si repo-retention-archive-type est réglé sur incr. Si l’espace disque est limité, ce paramètre, combiné à repo-retention-archive-type, peut être utilisé pour supprimer de manière agressive les segments WAL. Toutefois, cela annule la possibilité de réaliser une restauration à un instant donné à partir des sauvegardes ayant des segments WAL expirés, et n’est donc pas recommandé.
Nom obsolète : rétention-archive
Type de rétention des archives (--repo-retention-archive-type)
Type de sauvegarde pour la rétention de WAL.
Si défini sur full, pgBackRest conservera les journaux d’archive pendant le nombre de sauvegardes complètes défini par repo-retention-archive. Si défini sur diff (différentiel), pgBackRest conservera les journaux d’archive pendant le nombre de sauvegardes complètes et différentielles défini par repo-retention-archive, ce qui signifie qu’une sauvegarde complète prise en dernier sera comptée comme une sauvegarde différentielle pour l’application de la rétention du référentiel. Si défini sur incr (incrémentielle), pgBackRest conservera les journaux d’archive pendant le nombre de sauvegardes complètes, différentielles et incrémentielles défini par repo-retention-archive. Il est recommandé de ne pas modifier cette option par rapport à sa valeur par défaut, qui n’expire les WAL que conjointement à l’expiration des sauvegardes complètes.
Nom obsolète : rétention-archive-type
Option de rétention différentielle (--repo-retention-diff)
Nombre de sauvegardes différentielles à conserver.
Lorsqu’une sauvegarde différentielle expire, toutes les sauvegardes incrémentielles associées à cette sauvegarde différentielle expirent également. Si ce paramètre n’est pas défini, toutes les sauvegardes différentielles sont conservées jusqu’à l’expiration des sauvegardes complètes dont elles dépendent.
Notez que les sauvegardes complètes sont prises en compte dans le nombre de sauvegardes différentielles pour l’expiration. Cela réduit légèrement le nombre de sauvegardes différentielles à conserver dans la plupart des cas.
Nom obsolète : rétention-diff
Option de rétention complète (--repo-retention-full)
Nombre ou durée de rétention des sauvegardes complètes.
Lorsqu’une sauvegarde complète expire, toutes les sauvegardes différentielles et incrémentielles associées à cette sauvegarde complète expirent également. Si l’option n’est pas définie, un avertissement est émis. Si une rétention indéfinie est souhaitée, définissez l’option à sa valeur maximale.
Nom obsolète : rétention-full
Type d’option de rétention complète (--repo-retention-full-type)
Type de rétention pour les sauvegardes complètes.
Détermine si le paramètre repo-retention-full représente une période de temps (en jours) ou un nombre de sauvegardes complètes à conserver.
Si la valeur est définie à time, les sauvegardes complètes dont l’âge dépasse repo-retention-full seront supprimées du dépôt si au moins une autre sauvegarde est égale ou supérieure à la valeur définie par repo-retention-full. Par exemple, si repo-retention-full est égal à 30 (jours) et qu’il existe deux sauvegardes complètes : l’une âgée de 25 jours et l’autre de 35 jours, aucune sauvegarde complète ne sera expirée, car la suppression de la sauvegarde âgée de 35 jours laisserait uniquement la sauvegarde âgée de 25 jours, ce qui violerait la politique de rétention de 30 jours exigeant qu’au moins une sauvegarde ait au moins 30 jours d’âge avant qu’une sauvegarde plus ancienne ne puisse être expirée. Les archives WAL plus anciennes que la plus ancienne sauvegarde complète restante seront automatiquement expirées, sauf si repo-retention-archive-type et repo-retention-archive sont explicitement définis.
Si la valeur est définie à count, les sauvegardes complètes dont la taille dépasse repo-retention-full seront supprimées. Par exemple, si repo-retention-full est égal à 4 et qu’une cinquième sauvegarde complète est effectuée, la sauvegarde complète la plus ancienne sera supprimée afin de maintenir le nombre à 4.
Notez qu’une sauvegarde ne sera prise en compte pour la rétention qu’après avoir été correctement terminée. Par exemple, si repo-retention-full-type est count et repo-retention-full est 2, il doit y avoir 3 sauvegardes complètes avant que la plus ancienne ne soit supprimée.
Option de rétention de l’historique des sauvegardes (--repo-retention-history)
Nombre de jours d’historique de sauvegarde à conserver.
Une copie du manifeste de sauvegarde est stockée dans le chemin backup.history une fois la sauvegarde terminée. Par défaut, ces fichiers ne sont jamais supprimés, car ils sont utiles pour l’analyse de données, par exemple pour mesurer l’évolution de la taille des sauvegardes et des fichiers WAL au fil du temps.
Définissez repo-retention-history pour préciser le nombre de jours de manifestes d’historique de sauvegarde à conserver. Les sauvegardes non expirées sont toujours conservées dans l’historique des sauvegardes. Spécifiez repo-retention-history=0 pour ne conserver l’historique des sauvegardes que pour les sauvegardes non expirées.
Lorsqu’un manifeste d’historique de sauvegarde complète est expiré, tous les manifestes d’historique de sauvegardes différentielles et incrémentielles associés à cette sauvegarde complète expirent également.
Option de bac de dépôt S3 (--repo-s3-bucket)
Dépôt S3.
Dépôt S3 utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par AWS dans le bucket.
Option de point de terminaison du dépôt S3 (--repo-s3-endpoint)
Point de terminaison du dépôt S3.
Le point de terminaison AWS doit être valide pour la région sélectionnée.
Pour les configurations personnalisées ou les tests, les options repo-storage-ca-file, repo-storage-ca-path, repo-storage-host, repo-storage-port, et repo-storage-verify-tls peuvent être utiles.
Type de clé du dépôt S3 (--repo-s3-key-type)
Type de clé pour le dépôt S3.
Les types suivants sont pris en charge :
shared- Clés partagéesauto- Récupérer automatiquement les identifiants temporairesweb-id- Récupérer automatiquement les identifiants d’identité webpod-id- Récupérer automatiquement les identifiants d’identité de pod EKSprocess- Récupérer les identifiants en exécutant un processus
Option ID de clé KMS pour dépôt S3 (--repo-s3-kms-key-id)
Clé KMS du dépôt S3.
Active le chiffrement côté serveur S3 en utilisant la clé du service de gestion des clés AWS spécifiée.
Option de commande du processus d’authentification S3 (--repo-s3-process-cmd)
Commande du processus d’authentification S3.
Commande (et arguments facultatifs) à exécuter pour récupérer les identifiants temporaires S3. Le premier élément de la liste est la commande, les éléments suivants sont passés en tant que paramètres.
Le processus doit produire un JSON contenant les champs AccessKeyId, SecretAccessKey, SessionToken et Expiration. Les identifiants seront automatiquement actualisés avant l’expiration. Voir Process Credential Provider
pour les détails du format.
Option de région du dépôt S3 (--repo-s3-region)
Région du dépôt S3.
La région AWS où le bucket a été créé.
Option Requesteur Payant pour le dépôt S3 (--repo-s3-requester-pays)
Dépôt S3 payeur de la demande.
Active le paiement par le demandeur S3.
Option de rôle du dépôt S3 (--repo-s3-role)
Rôle du dépôt S3.
Le nom du rôle AWS (pas le nom ARN complet) utilisé pour récupérer les identifiants temporaires lorsque repo-s3-key-type=auto.
Option de service de dépôt S3 (--repo-s3-service)
Service de signature S3.
Le service de signature S3 utilisé dans l’authentification SigV4. La valeur par défaut est s3 pour les points d’accès S3 standards. À définir sur s3-outposts lors de l’utilisation d’un point d’accès S3 Outposts.
Option de point de terminaison STS du dépôt S3 (--repo-s3-sts-host)
Point de terminaison STS du dépôt S3.
Point de terminaison STS utilisé pour récupérer des identifiants temporaires lorsque repo-s3-key-type=web-id est configuré. Définissez-le sur un point de terminaison régional (par exemple sts.us-east-1.amazonaws.com) pour utiliser STS régional, ce qui peut être nécessaire pour les régions GovCloud, Chine, ou pour réduire la latence.
Option de style d’URI de dépôt S3 (--repo-s3-uri-style)
Style d’URI S3.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôtebucket.endpoint.path- Se connecter à l’hôteendpointet préfixer les URI par le répertoire.
Option hôte du dépôt SFTP (--repo-sftp-host)
Hôte du dépôt SFTP.
Hôte SFTP contenant le dépôt.
Fingerprint de l’hôte du dépôt SFTP (--repo-sftp-host-fingerprint)
Empreinte du serveur hôte du dépôt SFTP.
La génération de l’empreinte d’hôte du dépôt SFTP doit correspondre à repo-sftp-host-key-hash-type. Générez l’empreinte via awk '{print $2}' ssh_host_xxx_key.pub | base64 -d | (md5sum or sha1sum) -b. Les clés d’hôte SSH se trouvent normalement dans le répertoire /etc/ssh.
Type d’option de vérification de la clé hôte SFTP (--repo-sftp-host-key-check-type)
Type de vérification de la clé hôte SFTP.
Les types de vérification de clé d’hôte SFTP suivants sont pris en charge :
strict- pgBackRest n’ajoutera jamais automatiquement les clés d’hôte au fichier ~/.ssh/known_hosts, et refusera de se connecter aux hôtes dont la clé d’hôte a changé ou n’est pas trouvée dans les fichiers known hosts. Cette option oblige l’utilisateur à ajouter manuellement tous les nouveaux hôtes.accept-new- pgBackRest ajoutera automatiquement les nouvelles clés d’hôte au fichier known hosts de l’utilisateur, mais n’autorisera pas les connexions aux hôtes dont la clé d’hôte a changé.fingerprint- pgBackRest vérifiera la clé d’hôte contre l’empreinte spécifiée par l’optionrepo-sftp-host-fingerprint.none- aucune vérification de clé d’hôte ne sera effectuée.
Type de hachage de la clé hôte du dépôt SFTP (--repo-sftp-host-key-hash-type)
Type de hachage de la clé d’hôte du dépôt SFTP.
Type de hachage de la clé hôte du dépôt SFTP. Déclare le type de hachage à utiliser pour calculer le hachage de la clé hôte du système distant au démarrage SSH. Les versions plus récentes de libssh2 prennent en charge sha256 en plus de md5 et sha1.
Option de port hôte du dépôt SFTP (--repo-sftp-host-port)
Port hôte du dépôt SFTP.
Port hôte du dépôt SFTP.
Option utilisateur hôte dépôt SFTP (--repo-sftp-host-user)
Utilisateur hôte du dépôt SFTP.
Utilisateur sur l’hôte utilisé pour stocker le dépôt.
Option fichier Hôtes SFTP connus (--repo-sftp-known-host)
Fichier d’hôtes SFTP connus.
Fichier known hosts à consulter pour rechercher une correspondance avec un hôte SFTP lors de l’authentification. Si non spécifié, pgBackRest recherchera par défaut dans ~/.ssh/known_hosts, ~/.ssh/known_hosts2, /etc/ssh/ssh_known_hosts et /etc/ssh/ssh_known_hosts2. Si configuré avec un ou plusieurs chemins de fichier, pgBackRest recherchera dans ces fichiers une correspondance. Les chemins de fichier doivent être complets ou commencer par un tilde. L’option repo-sftp-known-host peut être spécifiée plusieurs fois pour indiquer plusieurs fichiers known hosts à consulter. Pour utiliser la vérification du fichier known hosts, l’option repo-sftp-host-fingerprint ne doit pas être définie. Voir également l’option repo-sftp-host-check-type.
Option fichier de clé privée du dépôt SFTP (--repo-sftp-private-key-file)
Fichier de clé privée SFTP.
Fichier de clé privée SFTP utilisé pour l’authentification.
Option de fichier de clé publique du dépôt SFTP (--repo-sftp-public-key-file)
Fichier de clé publique SFTP.
Fichier de clé publique SFTP utilisé pour l’authentification. Facultatif si compilé contre OpenSSL, obligatoire si compilé contre une autre bibliothèque.
Option du fichier CA du dépôt de stockage (--repo-storage-ca-file)
Fichier de certificat d’autorité de certification pour le dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-file, repo-s3-ca-file
Option de chemin du certificat CA TLS pour le dépôt (--repo-storage-ca-path)
Chemin du certificat d’autorité de certification du dépôt.
Utilisez un chemin de certificat d’autorité de certification (CA) autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-path, repo-s3-ca-path
Option hôte de stockage du dépôt (--repo-storage-host)
Hôte de stockage du dépôt.
Se connecter à un hôte autre que le point de terminaison de stockage (par exemple S3, Azure). Cela est généralement utilisé pour les tests.
Noms obsolètes : repo-azure-host, repo-s3-host
Option de port du stockage du dépôt (--repo-storage-port)
Port du stockage du dépôt.
Port à utiliser lors de la connexion au point de terminaison du stockage (par exemple S3, Azure) ou à l’hôte (le cas échéant).
Noms obsolètes : repo-azure-port, repo-s3-port
Option d’étiquette de stockage du dépôt (--repo-storage-tag)
Étiquette(s) de stockage du dépôt.
Spécifiez les balises à ajouter aux objets lorsque le dépôt est un magasin d’objets (par exemple, S3). L’option peut être répétée pour ajouter plusieurs balises.
Il n’existe aucune fonctionnalité dans pgBackRest permettant de modifier ces balises ; veillez donc à les définir correctement avant d’exécuter stanza-create afin d’assurer une cohérence des balises dans l’ensemble du dépôt.
Option de taille de morceau de chargement du dépôt (--repo-storage-upload-chunk-size)
Taille du morceau de chargement du dépôt.
Les magasins d’objets tels que S3 permettent de télécharger des fichiers par morceaux lorsque le fichier est trop volumineux pour être stocké en mémoire. Même si le fichier peut être stocké en mémoire, il est plus efficace en mémoire de limiter la quantité de mémoire utilisée pour les téléchargements.
Une taille de morceau plus élevée entraîne généralement de meilleures performances, car elle réduit le nombre de requêtes de téléchargement et permet de télécharger plus de fichiers en une seule requête plutôt qu’en morceaux. Le désavantage est que la consommation mémoire sera plus élevée, et comme la mémoire tampon de morceau doit être allouée par processus, des valeurs plus élevées de process-max entraînent une consommation mémoire globale plus importante.
Notez que les tailles de morceau valides varient selon le type de stockage et la plateforme. Par exemple, AWS S3 impose une taille minimale de morceau de 5MiB. La terminologie relative à la taille du morceau varie selon le type de stockage ; utilisez donc « part size » pour AWS S3, « chunk size » pour GCS et « block size » pour Azure lorsque vous recherchez les valeurs minimales ou maximales.
Si un fichier est plus grand que 1GiB (la taille maximale que PostgreSQL crée par défaut), la taille de tranche sera augmentée progressivement jusqu’à la valeur maximale autorisée afin de terminer le téléchargement du fichier.
Option de vérification du certificat de stockage du dépôt (--repo-storage-verify-tls)
Vérification du certificat du dépôt de stockage.
Cette option permet d’activer/désactiver la vérification du certificat TLS du serveur de stockage (par exemple, S3, Azure). La désactivation ne doit être utilisée que pour des tests ou d’autres scénarios où un certificat a été auto-signé.
Noms obsolètes : repo-azure-verify-tls, repo-s3-verify-ssl, repo-s3-verify-tls
Option de lien symbolique du dépôt (--repo-symlink)
Créez des liens symboliques dans le dépôt.
Active la création du latest et des liens symboliques de tablespace. Ces liens symboliques sont particulièrement utiles lors de la récupération in situ à l’aide de captures instantanées dans le dépôt, ce qui constitue un cas d’utilisation peu courant.
Bien que cette fonctionnalité soit probablement inutile pour la grande majorité des utilisateurs, elle reste activée par défaut pour des raisons de compatibilité avec les anciennes versions. Toutefois, il peut être utile de désactiver les liens symboliques pour les stockages de type Posix qui ne les prennent pas en charge.
Option de type de dépôt (--repo-type)
Type de stockage utilisé pour le dépôt.
Les types de dépôt suivants sont pris en charge :
azure- Service de stockage Blob Azurecifs- Commeposix, mais désactive les liens et les fsyncs de répertoiregcs- Google Cloud Storageposix- Systèmes de fichiers conformes à Posixs3- AWS Simple Storage Servicesftp- Protocole de transfert de fichiers sécurisé
Lorsqu’un montage NFS est utilisé comme dépôt posix, les mêmes règles s’appliquent à pgBackRest qu’indiquées dans la documentation PostgreSQL : Création d’un cluster de base de données - Systèmes de fichiers
.
4.7 - Commande d'aide (help)
help.Trois niveaux d’aide sont proposés. Si aucune commande n’est spécifiée, une aide générale sera affichée. Si une commande est précisée (par exemple pgbackrest help backup), une description complète de la commande sera affichée, accompagnée d’une liste des options valides. Si une option est précisée en plus d’une commande (par exemple pgbackrest help backup type), une description complète de l’option telle qu’elle s’applique à la commande sera affichée.
Options de commande
Afficher l’option d’aide (--help)
Affiche l’aide.
Affiche l’aide même si la commande help n’est pas précisée et ignore l’option --version.
Option d’affichage de la version (--version)
Afficher la version.
Affiche la version même si la commande version ou help n’est pas précisée.
4.8 - Info Commande (info)
info.La commande info s’applique à une seule stanza ou à toutes les stanzas. La sortie texte est la valeur par défaut et fournit un résumé lisible par l’humain des sauvegardes pour la ou les stanzas demandées. Ce format peut évoluer à tout moment dans une version.
Pour une sortie lisible par machine, utilisez --output=json. La sortie JSON contient bien plus d’informations que la sortie texte et est maintenue stable, sauf en cas de bug.
Pour accélérer l’exécution, restreindre la sortie à l’information de progression uniquement en spécifiant --detail-level=progress. Notez que cela ignore toutes les vérifications sauf la disponibilité de la stanza.
Chaque stanza dispose d’une section distincte et il est possible de limiter la sortie à une seule stanza à l’aide de l’option --stanza. La stanza ‘status’ indique brièvement l’état de santé de la stanza. Si cette valeur est ‘ok’, pgBackRest fonctionne normalement. Si plusieurs dépôts sont configurés, une valeur de ‘mixed’ indique que la stanza n’est pas dans un état sain sur un ou plusieurs dépôts ; dans ce cas, l’état de la stanza sera détaillé par dépôt. Dans les cas où une erreur s’est produite sur un dépôt sans correspondre à un code d’erreur connu, un code d’erreur de ‘other’ sera utilisé et les détails complets de l’erreur seront fournis. La ‘wal archive min/max’ affiche le WAL minimum et maximum actuellement stockés dans l’archive et, dans le cas de plusieurs dépôts, sera rapportée sur l’ensemble des dépôts sauf si l’option --repo est définie. Notez qu’il peut y avoir des lacunes dues aux politiques de rétention des archives ou à d’autres raisons.
Les messages ‘backup/expire running’ et/ou ‘restore running’ s’affichent aux côtés des informations ‘status’ si l’une quelconque de ces commandes est actuellement en cours d’exécution sur l’hôte. La progression par répertoire sera également indiquée dans la sortie texte, et un tableau ‘repo’ sera inclus dans la sortie JSON.
Les sauvegardes sont affichées du plus ancien au plus récent. La sauvegarde la plus ancienne sera toujours une sauvegarde complète (indiquée par un F à la fin de l’étiquette), mais la sauvegarde la plus récente peut être complète, différentielle (se terminant par D) ou incrémentielle (se terminant par I).
Le ‘timestamp start/stop’ définit la période pendant laquelle la sauvegarde a été exécutée. Le ‘timestamp stop’ peut être utilisé pour déterminer la sauvegarde à utiliser lors d’une restauration à un instant donné. Plus d’informations sur la restauration à un instant donné sont disponibles dans la section Restauration à un instant donné
.
Le ‘wal start/stop’ définit la plage de WAL nécessaire pour rendre la base de données cohérente lors d’une restauration. La commande backup s’assurera que cette plage de WAL se trouve dans l’archive avant de se terminer.
La ‘database size’ correspond à la taille totale non compressée de la base de données, tandis que la ‘database backup size’ représente la quantité de données à sauvegarder réellement ; elles sont identiques pour les sauvegardes complètes.
Le ‘repo’ indique dans quel dépôt se trouve cette sauvegarde. Le ‘backup set size’ inclut tous les fichiers de cette sauvegarde ainsi que toutes les sauvegardes référencées dans le dépôt nécessaires à la restauration de la base de données à partir de cette sauvegarde, tandis que le ‘backup size’ inclut uniquement les fichiers de cette sauvegarde (ceux-ci seront également identiques pour les sauvegardes complètes). Les tailles des dépôts reflètent les tailles des fichiers compressés si la compression est activée dans pgBackRest.
Le ‘backup reference total’ résume la liste des sauvegardes supplémentaires nécessaires pour effectuer la restauration de cette sauvegarde. Utilisez l’option --set pour afficher la liste complète de référence.
Options de commande
Niveau de détail Option (--detail-level)
Niveau de détail de la sortie.
Les niveaux suivants sont pris en charge :
progress- Affiche uniquement la progression actuelle de la sauvegarde ou de l’expiration. Ce niveau ne peut pas être utilisé avec l’option--set.full- Affiche toutes les informations.
Option de sortie (--output)
Format de sortie.
Les types de sortie suivants sont pris en charge :
text- Résumé lisible par l’humain des informations relatives à la sauvegarde.json- Informations complètes sur la sauvegarde, lisibles par une machine, au format JSON.
Définir l’option (--set)
Sauvegarde définie en détail.
Les détails incluent la liste complète des sauvegardes supplémentaires nécessaires à la restauration de cette sauvegarde, la liste des bases de données (avec leurs OIDs) présentes dans l’ensemble de sauvegarde (à l’exclusion des bases modèles), des espaces de table (avec leurs OIDs) ainsi que l’emplacement de destination par défaut où ils seront restaurés, ainsi que des liens symboliques et leur emplacement de destination lorsqu’--link-all est spécifié.
Type Option (--type)
Filtrer par type de sauvegarde.
Filtrez la sortie en utilisant l’un des types de sauvegarde suivants :
full- Ne produire que des sauvegardes complètes.diff- Ne produire que des sauvegardes différentielles.incr- Ne produire que des sauvegardes incrémentielles.
Options générales
Autoriser l’exécution en tant qu’utilisateur root (--allow-root)
Permettre à la commande de s’exécuter en tant qu’utilisateur root.
Par défaut, seul la commande restore peut être exécutée en tant qu’utilisateur root, car elle est conçue pour gérer soigneusement les propriétés des fichiers. Exécuter d’autres commandes en tant que root risque de créer des fichiers (par exemple dans le dépôt) dont le propriétaire est root, rendant ces fichiers inaccessibles à l’utilisateur PostgreSQL, ce qui entraîne l’échec des commandes ultérieures.
Activez cette option pour exécuter une commande en tant qu’utilisateur root malgré tout. Toutefois, il est bien préférable d’exécuter pgBackRest en tant qu’utilisateur propriétaire du dépôt et du cluster PostgreSQL.
Option Taille tampon (--buffer-size)
Taille du tampon pour les opérations d’E/S.
Taille de tampon utilisée pour les opérations de copie, de compression, de chiffrement et autres. Le nombre de tampons utilisés dépend des options, et chaque opération peut utiliser une mémoire supplémentaire, par exemple, la compression gz peut utiliser jusqu’à 256KiB de mémoire supplémentaire.
Les valeurs autorisées sont 16KiB, 32KiB, 64KiB, 128KiB, 256KiB, 512KiB, 1MiB, 2MiB, 4MiB, 8MiB et 16MiB.
Option de commande client SSH (--cmd-ssh)
Commande cliente SSH.
Utilisez une commande cliente SSH spécifique lorsque vous souhaitez utiliser une alternative ou que la commande ssh n’est pas disponible dans $PATH.
Option niveau de compression réseau (--compress-level-network)
Niveau de compression du réseau.
Définit le niveau de compression réseau lorsque compress-type=none et la commande ne sont pas exécutées sur le même hôte que le dépôt. La compression est utilisée pour réduire le trafic réseau. Lorsque compress-type est différent de none, le paramètre compress-level-network est ignoré et compress-level est utilisé à la place, afin que le fichier ne soit compressé qu’une seule fois.
Option de configuration (--config)
Fichier de configuration pgBackRest.
Utilisez cette option pour spécifier un fichier de configuration différent du fichier par défaut.
Option Chemin d’inclusion de configuration (--config-include-path)
Chemin vers les fichiers de configuration supplémentaires de pgBackRest.
Les fichiers de configuration se trouvant dans l’emplacement spécifié et ayant l’extension .conf seront concaténés au fichier de configuration de pgBackRest, ce qui donne un seul fichier de configuration.
Option de chemin de configuration (--config-path)
Chemin de base des fichiers de configuration de pgBackRest.
Ce paramètre est utilisé pour remplacer le chemin de base par défaut pour les options --config et --config-include-path, sauf si ces dernières sont explicitement définies en ligne de commande.
Par exemple, passer uniquement --config-path=/conf/pgbackrest fait que la valeur par défaut de --config est définie à /conf/pgbackrest/pgbackrest.conf et que la valeur par défaut de --config-include-path est définie à /conf/pgbackrest/conf.d.
Option d’expiration I/O (--io-timeout)
Délai d’attente d’E/S dépassé.
Délai d’attente, en secondes, utilisé pour les connexions et les opérations de lecture/écriture.
Notez que l’opération de lecture/écriture entière n’a pas besoin de se terminer dans ce délai d’attente, mais une certaine progression doit être réalisée, même si elle ne concerne qu’un seul octet.
Option Chemin verrou (--lock-path)
Chemin où les fichiers verrou sont stockés.
Le chemin de verrouillage fournit un emplacement où pgBackRest peut créer des fichiers de verrouillage afin d’empêcher l’exécution simultanée d’opérations en conflit.
Définir l’option de priorité du processus (--priority)
Définir la priorité du processus.
Définit la priorité (c’est-à-dire la valeur de niceness) accordée au processus par l’ordonnanceur du noyau. Les valeurs positives réduisent la priorité, tandis que les valeurs négatives l’augmentent. Dans la plupart des cas, les processus ne disposent pas des autorisations nécessaires pour augmenter leur priorité.
Option délai d’attente du protocole (--protocol-timeout)
Délai d’attente du protocole.
Définit le délai d’attente, en secondes, durant lequel le processus local ou distant attend qu’un nouveau message soit reçu au niveau du protocole. Cela empêche les processus de rester bloqués indéfiniment en attente d’un message.
NOTE : L’option
protocol-timeoutdoit être supérieure à l’optiondb-timeout.
Option Keep Alive (--sck-keep-alive)
Activation du keep-alive.
Active les messages keep-alive sur les connexions socket.
Option stanza (--stanza)
Définit la stanza.
Une stanza est la configuration d’un cluster de base de données PostgreSQL qui définit son emplacement, la manière dont il sera sauvegardé, les options d’archivage, etc. La plupart des serveurs de base de données n’ont qu’un seul cluster PostgreSQL et donc une seule stanza, tandis que les serveurs de sauvegarde ont une stanza pour chaque cluster de base de données à sauvegarder.
Il est tentant de nommer la stanza en fonction du cluster principal, mais un nom plus pertinent décrit les bases de données contenues dans le cluster. Étant donné que le nom de la stanza sera utilisé pour le principal et toutes les répliques, il est préférable de choisir un nom qui décrit la fonction réelle du cluster, par exemple app ou dw, plutôt que le nom local du cluster, comme main ou prod.
Option de nombre de connexions Keep Alive (--tcp-keep-alive-count)
Nombre de maintien de connexion.
Spécifie le nombre de messages TCP keep-alive pouvant être perdus avant que la connexion ne soit considérée comme inactive.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPCNT.
Option d’idle Keep Alive (--tcp-keep-alive-idle)
Délai d’inactivité pour la maintien de la connexion.
Spécifie la durée (en secondes) pendant laquelle aucune activité réseau ne se produit, après laquelle le système d’exploitation doit envoyer un message de maintien de connexion TCP.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPIDLE.
Option Intervalle Keep Alive (--tcp-keep-alive-interval)
Intervalle de temps pour la maintien de la connexion active.
Spécifie la durée (en secondes) après laquelle un message TCP keep-alive non reconnu doit être renvoyé.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPINTVL.
Suites de chiffrement TLSv1.2 Option (--tls-cipher-12)
Suites de chiffrement TLSv1.2 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. L’exemple proposé constitue un choix raisonnable sauf si des exigences de sécurité spécifiques s’appliquent. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Suites de chiffrement TLSv1.3 Option (--tls-cipher-13)
Suites de chiffrement TLSv1.3 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Options de journalisation
Niveau de journalisation de la console (--log-level-console)
Niveau de journalisation pour la console.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation du fichier (--log-level-file)
Niveau de journalisation des fichiers.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation des erreurs standard (--log-level-stderr)
Niveau de journalisation pour stderr.
Spécifie les niveaux de journalisation qui seront envoyés vers stderr plutôt que vers stdout (spécifié par log-level-console). L’horodatage et le processus ne seront pas envoyés vers stderr.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Option Chemin Journal (--log-path)
Chemin où les fichiers de journalisation sont stockés.
Le chemin de journalisation fournit un emplacement où pgBackRest peut stocker les fichiers de journalisation. Notez que si log-level-file=off, aucun chemin de journalisation n’est requis.
Option de journalisation des sous-processus (--log-subprocess)
Activer la journalisation dans les sous-processus.
Activez la journalisation des fichiers pour tout sous-processus créé par ce processus, en utilisant le niveau de journalisation spécifié par log-level-file.
Option de timestamp de journal (--log-timestamp)
Activer les horodatages dans la journalisation.
Active l’horodatage dans la journalisation console et fichier. Cette option est désactivée dans des situations spéciales, telles que la génération de documentation.
Options du dépôt
Définir l’option dépôt (--repo)
Définir le dépôt.
Spécifiez le dépôt sur lequel une commande doit s’opérer.
Par exemple, cette option peut être utilisée pour effectuer une restauration à partir d’un dépôt spécifique, plutôt que de laisser pgBackRest choisir.
Option de conteneur de dépôt Azure (--repo-azure-container)
Conteneur de dépôt Azure.
Conteneur Azure utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés dans la racine du conteneur en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par Azure dans le conteneur.
Type de clé du dépôt Azure (--repo-azure-key-type)
Type de clé du dépôt Azure.
Les types suivants sont pris en charge pour l’autorisation :
shared- Clé partagéesas- Signature d’accès partagéauto- Autorisation automatique à l’aide d’identités managées Azure
Option de style d’URI de dépôt Azure (--repo-azure-uri-style)
Style URI Azure.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôteaccount.endpoint.path- Se connecter à l’hôteendpointet préfixer le compte aux URI.
Type de chiffrement du dépôt (--repo-cipher-type)
Chiffrement 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 longueur de clé de 256 bits
Notez que le chiffrement est toujours effectué côté client, même si le type de dépôt (par exemple S3) prend en charge le chiffrement.
Option de bac de dépôt GCS (--repo-gcs-bucket)
Dépôt de bucket GCS.
Dépôt GCS utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par GCS dans le bucket.
Option de point de terminaison du dépôt GCS (--repo-gcs-endpoint)
Point de terminaison du dépôt GCS.
Point d’accès utilisé pour se connecter au service de stockage. Peut être mis à jour pour utiliser un serveur local GCS ou un point d’accès alternatif.
Type de clé du dépôt GCS (--repo-gcs-key-type)
Type de clé du dépôt GCS.
Les types suivants sont pris en charge pour l’autorisation :
auto- Autoriser à l’aide du compte de service de l’instance.service- Compte de service à partir d’une clé stockée localement.token- À utiliser pour les tests locaux, par exemplefakegcs.
Lorsque repo-gcs-key-type=service, les identifiants seront rechargés lorsque le jeton d’authentification sera renouvelé.
Option ID du projet du dépôt GCS (--repo-gcs-user-project)
Identifiant du projet GCS.
ID du projet GCS utilisé pour déterminer la facturation des requêtes.
Option hôte du dépôt (--repo-host)
Hôte du dépôt lors de l’opération à distance.
Lors de la sauvegarde et de l’archivage vers un système de fichiers monté localement, ce paramètre n’est pas requis.
Nom obsolète : backup-host
Option du fichier de l’autorité de certification hôte du dépôt (--repo-host-ca-file)
Fichier de l’autorité de certification du serveur de dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour vous connecter à l’hôte du dépôt.
Option Chemin de l’autorité de certification du dépôt (--repo-host-ca-path)
Chemin de l’autorité de certification du serveur de dépôt.
Utilisez un chemin de certificat d’autorité (CA) autre que celui par défaut du système pour établir la connexion avec l’hôte du dépôt.
Option de fichier de certificat d’hôte du dépôt (--repo-host-cert-file)
Fichier de certificat d’hôte du dépôt.
Envoyé à l’hôte du dépôt pour prouver l’identité du client.
Option de commande hôte du dépôt (--repo-host-cmd)
Hôte du dépôt commande pgBackRest.
Requis uniquement si le chemin vers la commande pgBackRest est différent sur les hôtes local et de dépôt. Si non défini, la commande de dépôt sera définie de la même manière que celle de l’hôte local.
Nom obsolète : backup-cmd
Option de configuration de l’hôte du dépôt (--repo-host-config)
Fichier de configuration du serveur de dépôt pgBackRest.
Spécifie l’emplacement du fichier de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le fichier de configuration de l’hôte du dépôt se trouve dans un emplacement différent du fichier de configuration local.
Nom obsolète : sauvegarde-config
Option de chemin d’inclusion de configuration d’hôte de dépôt (--repo-host-config-include-path)
Configuration du serveur de dépôt pgBackRest incluant le chemin.
Définit l’emplacement du chemin d’inclusion de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin d’inclusion de configuration de l’hôte du dépôt est différent du chemin d’inclusion de configuration local.
Chemin de configuration de l’hôte du dépôt (--repo-host-config-path)
Chemin de configuration du serveur de dépôt pgBackRest.
Définit l’emplacement du chemin de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin de configuration de l’hôte du dépôt est différent du chemin de configuration local.
Option de fichier de clé hôte du dépôt (--repo-host-key-file)
Fichier de clé hôte du dépôt.
Vérifie que le certificat client a été envoyé par le propriétaire.
Option de port 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 du serveur du dépôt.
NOTE : Lorsque
repo-host-type=ssh, il n’existe pas de valeur par défaut pourrepo-host-port. Dans ce cas, le port sera celui configuré pour la commande spécifiée parcmd-ssh.
Nom obsolète : backup-ssh-port
Type de protocole d’hôte de dépôt (--repo-host-type)
Type de protocole d’hôte de dépôt.
Les types de protocole suivants sont pris en charge :
ssh- Shell sécurisé.tls- Serveur TLS pgBackRest.
Option d’utilisateur hôte de dépôt (--repo-host-user)
Utilisateur hôte du dépôt lorsque repo-host est défini.
Définit l’utilisateur utilisé pour les opérations sur l’hôte du dépôt. Il est préférable que ce ne soit pas l’utilisateur postgres, mais plutôt un autre utilisateur tel que pgbackrest. Si PostgreSQL s’exécute sur l’hôte du dépôt, l’utilisateur postgres peut être ajouté au groupe pgbackrest afin d’avoir des permissions de lecture sur le dépôt sans pouvoir accidentellement le modifier.
Nom obsolète : backup-user
Option Chemin du dépôt (--repo-path)
Chemin où les sauvegardes et l’archive sont stockées.
Le dépôt est l’emplacement où pgBackRest stocke les sauvegardes et les archives des segments WAL.
Il peut être difficile de prévoir à l’avance l’espace nécessaire. La meilleure approche consiste à effectuer quelques sauvegardes, puis à noter la taille des différents types de sauvegardes (pleines, incrémentielles, différentielles) et à mesurer la quantité de WAL générée par jour. Cela vous donnera une idée générale de l’espace requis, bien que les besoins évoluent probablement au fil du temps avec l’évolution de votre base de données.
Option de bac de dépôt S3 (--repo-s3-bucket)
Dépôt S3.
Dépôt S3 utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par AWS dans le bucket.
Option de point de terminaison du dépôt S3 (--repo-s3-endpoint)
Point de terminaison du dépôt S3.
Le point de terminaison AWS doit être valide pour la région sélectionnée.
Pour les configurations personnalisées ou les tests, les options repo-storage-ca-file, repo-storage-ca-path, repo-storage-host, repo-storage-port, et repo-storage-verify-tls peuvent être utiles.
Type de clé du dépôt S3 (--repo-s3-key-type)
Type de clé pour le dépôt S3.
Les types suivants sont pris en charge :
shared- Clés partagéesauto- Récupérer automatiquement les identifiants temporairesweb-id- Récupérer automatiquement les identifiants d’identité webpod-id- Récupérer automatiquement les identifiants d’identité de pod EKSprocess- Récupérer les identifiants en exécutant un processus
Option ID de clé KMS pour dépôt S3 (--repo-s3-kms-key-id)
Clé KMS du dépôt S3.
Active le chiffrement côté serveur S3 en utilisant la clé du service de gestion des clés AWS spécifiée.
Option de commande du processus d’authentification S3 (--repo-s3-process-cmd)
Commande du processus d’authentification S3.
Commande (et arguments facultatifs) à exécuter pour récupérer les identifiants temporaires S3. Le premier élément de la liste est la commande, les éléments suivants sont passés en tant que paramètres.
Le processus doit produire un JSON contenant les champs AccessKeyId, SecretAccessKey, SessionToken et Expiration. Les identifiants seront automatiquement actualisés avant l’expiration. Voir Process Credential Provider
pour les détails du format.
Option de région du dépôt S3 (--repo-s3-region)
Région du dépôt S3.
La région AWS où le bucket a été créé.
Option Requesteur Payant pour le dépôt S3 (--repo-s3-requester-pays)
Dépôt S3 payeur de la demande.
Active le paiement par le demandeur S3.
Option de rôle du dépôt S3 (--repo-s3-role)
Rôle du dépôt S3.
Le nom du rôle AWS (pas le nom ARN complet) utilisé pour récupérer les identifiants temporaires lorsque repo-s3-key-type=auto.
Option de service de dépôt S3 (--repo-s3-service)
Service de signature S3.
Le service de signature S3 utilisé dans l’authentification SigV4. La valeur par défaut est s3 pour les points d’accès S3 standards. À définir sur s3-outposts lors de l’utilisation d’un point d’accès S3 Outposts.
Option de point de terminaison STS du dépôt S3 (--repo-s3-sts-host)
Point de terminaison STS du dépôt S3.
Point de terminaison STS utilisé pour récupérer des identifiants temporaires lorsque repo-s3-key-type=web-id est configuré. Définissez-le sur un point de terminaison régional (par exemple sts.us-east-1.amazonaws.com) pour utiliser STS régional, ce qui peut être nécessaire pour les régions GovCloud, Chine, ou pour réduire la latence.
Option de style d’URI de dépôt S3 (--repo-s3-uri-style)
Style d’URI S3.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôtebucket.endpoint.path- Se connecter à l’hôteendpointet préfixer les URI par le répertoire.
Option hôte du dépôt SFTP (--repo-sftp-host)
Hôte du dépôt SFTP.
Hôte SFTP contenant le dépôt.
Fingerprint de l’hôte du dépôt SFTP (--repo-sftp-host-fingerprint)
Empreinte du serveur hôte du dépôt SFTP.
La génération de l’empreinte d’hôte du dépôt SFTP doit correspondre à repo-sftp-host-key-hash-type. Générez l’empreinte via awk '{print $2}' ssh_host_xxx_key.pub | base64 -d | (md5sum or sha1sum) -b. Les clés d’hôte SSH se trouvent normalement dans le répertoire /etc/ssh.
Type d’option de vérification de la clé hôte SFTP (--repo-sftp-host-key-check-type)
Type de vérification de la clé hôte SFTP.
Les types de vérification de clé d’hôte SFTP suivants sont pris en charge :
strict- pgBackRest n’ajoutera jamais automatiquement les clés d’hôte au fichier ~/.ssh/known_hosts, et refusera de se connecter aux hôtes dont la clé d’hôte a changé ou n’est pas trouvée dans les fichiers known hosts. Cette option oblige l’utilisateur à ajouter manuellement tous les nouveaux hôtes.accept-new- pgBackRest ajoutera automatiquement les nouvelles clés d’hôte au fichier known hosts de l’utilisateur, mais n’autorisera pas les connexions aux hôtes dont la clé d’hôte a changé.fingerprint- pgBackRest vérifiera la clé d’hôte contre l’empreinte spécifiée par l’optionrepo-sftp-host-fingerprint.none- aucune vérification de clé d’hôte ne sera effectuée.
Type de hachage de la clé hôte du dépôt SFTP (--repo-sftp-host-key-hash-type)
Type de hachage de la clé d’hôte du dépôt SFTP.
Type de hachage de la clé hôte du dépôt SFTP. Déclare le type de hachage à utiliser pour calculer le hachage de la clé hôte du système distant au démarrage SSH. Les versions plus récentes de libssh2 prennent en charge sha256 en plus de md5 et sha1.
Option de port hôte du dépôt SFTP (--repo-sftp-host-port)
Port hôte du dépôt SFTP.
Port hôte du dépôt SFTP.
Option utilisateur hôte dépôt SFTP (--repo-sftp-host-user)
Utilisateur hôte du dépôt SFTP.
Utilisateur sur l’hôte utilisé pour stocker le dépôt.
Option fichier Hôtes SFTP connus (--repo-sftp-known-host)
Fichier d’hôtes SFTP connus.
Fichier known hosts à consulter pour rechercher une correspondance avec un hôte SFTP lors de l’authentification. Si non spécifié, pgBackRest recherchera par défaut dans ~/.ssh/known_hosts, ~/.ssh/known_hosts2, /etc/ssh/ssh_known_hosts et /etc/ssh/ssh_known_hosts2. Si configuré avec un ou plusieurs chemins de fichier, pgBackRest recherchera dans ces fichiers une correspondance. Les chemins de fichier doivent être complets ou commencer par un tilde. L’option repo-sftp-known-host peut être spécifiée plusieurs fois pour indiquer plusieurs fichiers known hosts à consulter. Pour utiliser la vérification du fichier known hosts, l’option repo-sftp-host-fingerprint ne doit pas être définie. Voir également l’option repo-sftp-host-check-type.
Option fichier de clé privée du dépôt SFTP (--repo-sftp-private-key-file)
Fichier de clé privée SFTP.
Fichier de clé privée SFTP utilisé pour l’authentification.
Option de fichier de clé publique du dépôt SFTP (--repo-sftp-public-key-file)
Fichier de clé publique SFTP.
Fichier de clé publique SFTP utilisé pour l’authentification. Facultatif si compilé contre OpenSSL, obligatoire si compilé contre une autre bibliothèque.
Option du fichier CA du dépôt de stockage (--repo-storage-ca-file)
Fichier de certificat d’autorité de certification pour le dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-file, repo-s3-ca-file
Option de chemin du certificat CA TLS pour le dépôt (--repo-storage-ca-path)
Chemin du certificat d’autorité de certification du dépôt.
Utilisez un chemin de certificat d’autorité de certification (CA) autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-path, repo-s3-ca-path
Option hôte de stockage du dépôt (--repo-storage-host)
Hôte de stockage du dépôt.
Se connecter à un hôte autre que le point de terminaison de stockage (par exemple S3, Azure). Cela est généralement utilisé pour les tests.
Noms obsolètes : repo-azure-host, repo-s3-host
Option de port du stockage du dépôt (--repo-storage-port)
Port du stockage du dépôt.
Port à utiliser lors de la connexion au point de terminaison du stockage (par exemple S3, Azure) ou à l’hôte (le cas échéant).
Noms obsolètes : repo-azure-port, repo-s3-port
Option d’étiquette de stockage du dépôt (--repo-storage-tag)
Étiquette(s) de stockage du dépôt.
Spécifiez les balises à ajouter aux objets lorsque le dépôt est un magasin d’objets (par exemple, S3). L’option peut être répétée pour ajouter plusieurs balises.
Il n’existe aucune fonctionnalité dans pgBackRest permettant de modifier ces balises ; veillez donc à les définir correctement avant d’exécuter stanza-create afin d’assurer une cohérence des balises dans l’ensemble du dépôt.
Option de taille de morceau de chargement du dépôt (--repo-storage-upload-chunk-size)
Taille du morceau de chargement du dépôt.
Les magasins d’objets tels que S3 permettent de télécharger des fichiers par morceaux lorsque le fichier est trop volumineux pour être stocké en mémoire. Même si le fichier peut être stocké en mémoire, il est plus efficace en mémoire de limiter la quantité de mémoire utilisée pour les téléchargements.
Une taille de morceau plus élevée entraîne généralement de meilleures performances, car elle réduit le nombre de requêtes de téléchargement et permet de télécharger plus de fichiers en une seule requête plutôt qu’en morceaux. Le désavantage est que la consommation mémoire sera plus élevée, et comme la mémoire tampon de morceau doit être allouée par processus, des valeurs plus élevées de process-max entraînent une consommation mémoire globale plus importante.
Notez que les tailles de morceau valides varient selon le type de stockage et la plateforme. Par exemple, AWS S3 impose une taille minimale de morceau de 5MiB. La terminologie relative à la taille du morceau varie selon le type de stockage ; utilisez donc « part size » pour AWS S3, « chunk size » pour GCS et « block size » pour Azure lorsque vous recherchez les valeurs minimales ou maximales.
Si un fichier est plus grand que 1GiB (la taille maximale que PostgreSQL crée par défaut), la taille de tranche sera augmentée progressivement jusqu’à la valeur maximale autorisée afin de terminer le téléchargement du fichier.
Option de vérification du certificat de stockage du dépôt (--repo-storage-verify-tls)
Vérification du certificat du dépôt de stockage.
Cette option permet d’activer/désactiver la vérification du certificat TLS du serveur de stockage (par exemple, S3, Azure). La désactivation ne doit être utilisée que pour des tests ou d’autres scénarios où un certificat a été auto-signé.
Noms obsolètes : repo-azure-verify-tls, repo-s3-verify-ssl, repo-s3-verify-tls
Heure cible pour l’option dépôt (--repo-target-time)
Heure cible pour le dépôt.
Le temps cible définit l’instant auquel les commandes lisent un dépôt sur un stockage versionné. Cela permet à la commande de lire le dépôt tel qu’il était à un instant donné, afin de récupérer des données supprimées ou corrompues par une erreur utilisateur ou un logiciel malveillant.
Le stockage versionné est pris en charge par S3, GCS et Azure, mais il est généralement désactivé par défaut. En plus d’activer la versioning, il peut être utile d’activer le verrouillage d’objets pour S3, ou la suppression progressive pour GCS ou Azure.
Lorsque l’option repo-target-time est spécifiée, l’option repo doit également être fournie. Il est probable que tous les types de dépôt ne prennent pas en charge la versionning, et il est généralement préférable de cibler un seul dépôt pour la récupération.
Notez que les comparaisons avec l’horodatage de stockage sont <= à l’horodatage fourni et que les millisecondes sont tronquées de l’horodatage lorsqu’elles sont fournies.
Option de type de dépôt (--repo-type)
Type de stockage utilisé pour le dépôt.
Les types de dépôt suivants sont pris en charge :
azure- Service de stockage Blob Azurecifs- Commeposix, mais désactive les liens et les fsyncs de répertoiregcs- Google Cloud Storageposix- Systèmes de fichiers conformes à Posixs3- AWS Simple Storage Servicesftp- Protocole de transfert de fichiers sécurisé
Lorsqu’un montage NFS est utilisé comme dépôt posix, les mêmes règles s’appliquent à pgBackRest qu’indiquées dans la documentation PostgreSQL : Création d’un cluster de base de données - Systèmes de fichiers
.
4.9 - Commande d'obtention de dépôt (repo-get)
repo-get.Similaire à la commande unix cat mais fonctionne sur n’importe quel type de dépôt pris en charge. Cette commande nécessite un nom de fichier entièrement qualifié et est principalement destinée à l’administration, l’investigation et les tests. Elle n’est pas obligatoire dans une configuration normale de pgBackRest.
Si le dépôt est chiffré, repo-get déchiffrera automatiquement le fichier. Les fichiers ne sont pas automatiquement décompressés, mais la sortie peut être redirigée vers la commande de décompression appropriée, par exemple gzip -d.
Si plusieurs dépôts sont configurés, la commande utilise par défaut le dépôt de priorité la plus élevée (par exemple repo1) sauf si l’option --repo est spécifiée.
Options de commande
Option manquante ignorée (--ignore-missing)
Ignorer le fichier source manquant.
Quitter avec 1 si le fichier source est manquant, sans lever d’erreur.
Options générales
Autoriser l’exécution en tant qu’utilisateur root (--allow-root)
Permettre à la commande de s’exécuter en tant qu’utilisateur root.
Par défaut, seul la commande restore peut être exécutée en tant qu’utilisateur root, car elle est conçue pour gérer soigneusement les propriétés des fichiers. Exécuter d’autres commandes en tant que root risque de créer des fichiers (par exemple dans le dépôt) dont le propriétaire est root, rendant ces fichiers inaccessibles à l’utilisateur PostgreSQL, ce qui entraîne l’échec des commandes ultérieures.
Activez cette option pour exécuter une commande en tant qu’utilisateur root malgré tout. Toutefois, il est bien préférable d’exécuter pgBackRest en tant qu’utilisateur propriétaire du dépôt et du cluster PostgreSQL.
Option Taille tampon (--buffer-size)
Taille du tampon pour les opérations d’E/S.
Taille de tampon utilisée pour les opérations de copie, de compression, de chiffrement et autres. Le nombre de tampons utilisés dépend des options, et chaque opération peut utiliser une mémoire supplémentaire, par exemple, la compression gz peut utiliser jusqu’à 256KiB de mémoire supplémentaire.
Les valeurs autorisées sont 16KiB, 32KiB, 64KiB, 128KiB, 256KiB, 512KiB, 1MiB, 2MiB, 4MiB, 8MiB et 16MiB.
Option de commande client SSH (--cmd-ssh)
Commande cliente SSH.
Utilisez une commande cliente SSH spécifique lorsque vous souhaitez utiliser une alternative ou que la commande ssh n’est pas disponible dans $PATH.
Option niveau de compression réseau (--compress-level-network)
Niveau de compression du réseau.
Définit le niveau de compression réseau lorsque compress-type=none et la commande ne sont pas exécutées sur le même hôte que le dépôt. La compression est utilisée pour réduire le trafic réseau. Lorsque compress-type est différent de none, le paramètre compress-level-network est ignoré et compress-level est utilisé à la place, afin que le fichier ne soit compressé qu’une seule fois.
Option de configuration (--config)
Fichier de configuration pgBackRest.
Utilisez cette option pour spécifier un fichier de configuration différent du fichier par défaut.
Option Chemin d’inclusion de configuration (--config-include-path)
Chemin vers les fichiers de configuration supplémentaires de pgBackRest.
Les fichiers de configuration se trouvant dans l’emplacement spécifié et ayant l’extension .conf seront concaténés au fichier de configuration de pgBackRest, ce qui donne un seul fichier de configuration.
Option de chemin de configuration (--config-path)
Chemin de base des fichiers de configuration de pgBackRest.
Ce paramètre est utilisé pour remplacer le chemin de base par défaut pour les options --config et --config-include-path, sauf si ces dernières sont explicitement définies en ligne de commande.
Par exemple, passer uniquement --config-path=/conf/pgbackrest fait que la valeur par défaut de --config est définie à /conf/pgbackrest/pgbackrest.conf et que la valeur par défaut de --config-include-path est définie à /conf/pgbackrest/conf.d.
Option d’expiration I/O (--io-timeout)
Délai d’attente d’E/S dépassé.
Délai d’attente, en secondes, utilisé pour les connexions et les opérations de lecture/écriture.
Notez que l’opération de lecture/écriture entière n’a pas besoin de se terminer dans ce délai d’attente, mais une certaine progression doit être réalisée, même si elle ne concerne qu’un seul octet.
Option de masque neutre (--neutral-umask)
Utilisez un umask neutre.
Définit le umask à 0000 afin que les modes du dépôt soient créés de manière cohérente. Le mode par défaut du répertoire est 0750 et le mode par défaut du fichier est 0640.
Pour utiliser le umask de l’utilisateur en cours, spécifiez neutral-umask=n dans le fichier de configuration ou --no-neutral-umask en ligne de commande.
Définir l’option de priorité du processus (--priority)
Définir la priorité du processus.
Définit la priorité (c’est-à-dire la valeur de niceness) accordée au processus par l’ordonnanceur du noyau. Les valeurs positives réduisent la priorité, tandis que les valeurs négatives l’augmentent. Dans la plupart des cas, les processus ne disposent pas des autorisations nécessaires pour augmenter leur priorité.
Option délai d’attente du protocole (--protocol-timeout)
Délai d’attente du protocole.
Définit le délai d’attente, en secondes, durant lequel le processus local ou distant attend qu’un nouveau message soit reçu au niveau du protocole. Cela empêche les processus de rester bloqués indéfiniment en attente d’un message.
NOTE : L’option
protocol-timeoutdoit être supérieure à l’optiondb-timeout.
Option données brutes (--raw)
Ne pas transformer les données.
Ne pas transformer (par exemple, chiffrer, décompresser, etc.) les données pour la commande en cours.
Option Keep Alive (--sck-keep-alive)
Activation du keep-alive.
Active les messages keep-alive sur les connexions socket.
Option de nombre de connexions Keep Alive (--tcp-keep-alive-count)
Nombre de maintien de connexion.
Spécifie le nombre de messages TCP keep-alive pouvant être perdus avant que la connexion ne soit considérée comme inactive.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPCNT.
Option d’idle Keep Alive (--tcp-keep-alive-idle)
Délai d’inactivité pour la maintien de la connexion.
Spécifie la durée (en secondes) pendant laquelle aucune activité réseau ne se produit, après laquelle le système d’exploitation doit envoyer un message de maintien de connexion TCP.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPIDLE.
Option Intervalle Keep Alive (--tcp-keep-alive-interval)
Intervalle de temps pour la maintien de la connexion active.
Spécifie la durée (en secondes) après laquelle un message TCP keep-alive non reconnu doit être renvoyé.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPINTVL.
Suites de chiffrement TLSv1.2 Option (--tls-cipher-12)
Suites de chiffrement TLSv1.2 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. L’exemple proposé constitue un choix raisonnable sauf si des exigences de sécurité spécifiques s’appliquent. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Suites de chiffrement TLSv1.3 Option (--tls-cipher-13)
Suites de chiffrement TLSv1.3 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Options de journalisation
Niveau de journalisation de la console (--log-level-console)
Niveau de journalisation pour la console.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation du fichier (--log-level-file)
Niveau de journalisation des fichiers.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation des erreurs standard (--log-level-stderr)
Niveau de journalisation pour stderr.
Spécifie les niveaux de journalisation qui seront envoyés vers stderr plutôt que vers stdout (spécifié par log-level-console). L’horodatage et le processus ne seront pas envoyés vers stderr.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Option Chemin Journal (--log-path)
Chemin où les fichiers de journalisation sont stockés.
Le chemin de journalisation fournit un emplacement où pgBackRest peut stocker les fichiers de journalisation. Notez que si log-level-file=off, aucun chemin de journalisation n’est requis.
Option de journalisation des sous-processus (--log-subprocess)
Activer la journalisation dans les sous-processus.
Activez la journalisation des fichiers pour tout sous-processus créé par ce processus, en utilisant le niveau de journalisation spécifié par log-level-file.
Option de timestamp de journal (--log-timestamp)
Activer les horodatages dans la journalisation.
Active l’horodatage dans la journalisation console et fichier. Cette option est désactivée dans des situations spéciales, telles que la génération de documentation.
Options du dépôt
Définir l’option dépôt (--repo)
Définir le dépôt.
Spécifiez le dépôt sur lequel une commande doit s’opérer.
Par exemple, cette option peut être utilisée pour effectuer une restauration à partir d’un dépôt spécifique, plutôt que de laisser pgBackRest choisir.
Option de conteneur de dépôt Azure (--repo-azure-container)
Conteneur de dépôt Azure.
Conteneur Azure utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés dans la racine du conteneur en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par Azure dans le conteneur.
Type de clé du dépôt Azure (--repo-azure-key-type)
Type de clé du dépôt Azure.
Les types suivants sont pris en charge pour l’autorisation :
shared- Clé partagéesas- Signature d’accès partagéauto- Autorisation automatique à l’aide d’identités managées Azure
Option de style d’URI de dépôt Azure (--repo-azure-uri-style)
Style URI Azure.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôteaccount.endpoint.path- Se connecter à l’hôteendpointet préfixer le compte aux URI.
Type de chiffrement du dépôt (--repo-cipher-type)
Chiffrement 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 longueur de clé de 256 bits
Notez que le chiffrement est toujours effectué côté client, même si le type de dépôt (par exemple S3) prend en charge le chiffrement.
Option de bac de dépôt GCS (--repo-gcs-bucket)
Dépôt de bucket GCS.
Dépôt GCS utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par GCS dans le bucket.
Option de point de terminaison du dépôt GCS (--repo-gcs-endpoint)
Point de terminaison du dépôt GCS.
Point d’accès utilisé pour se connecter au service de stockage. Peut être mis à jour pour utiliser un serveur local GCS ou un point d’accès alternatif.
Type de clé du dépôt GCS (--repo-gcs-key-type)
Type de clé du dépôt GCS.
Les types suivants sont pris en charge pour l’autorisation :
auto- Autoriser à l’aide du compte de service de l’instance.service- Compte de service à partir d’une clé stockée localement.token- À utiliser pour les tests locaux, par exemplefakegcs.
Lorsque repo-gcs-key-type=service, les identifiants seront rechargés lorsque le jeton d’authentification sera renouvelé.
Option ID du projet du dépôt GCS (--repo-gcs-user-project)
Identifiant du projet GCS.
ID du projet GCS utilisé pour déterminer la facturation des requêtes.
Option hôte du dépôt (--repo-host)
Hôte du dépôt lors de l’opération à distance.
Lors de la sauvegarde et de l’archivage vers un système de fichiers monté localement, ce paramètre n’est pas requis.
Nom obsolète : backup-host
Option du fichier de l’autorité de certification hôte du dépôt (--repo-host-ca-file)
Fichier de l’autorité de certification du serveur de dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour vous connecter à l’hôte du dépôt.
Option Chemin de l’autorité de certification du dépôt (--repo-host-ca-path)
Chemin de l’autorité de certification du serveur de dépôt.
Utilisez un chemin de certificat d’autorité (CA) autre que celui par défaut du système pour établir la connexion avec l’hôte du dépôt.
Option de fichier de certificat d’hôte du dépôt (--repo-host-cert-file)
Fichier de certificat d’hôte du dépôt.
Envoyé à l’hôte du dépôt pour prouver l’identité du client.
Option de commande hôte du dépôt (--repo-host-cmd)
Hôte du dépôt commande pgBackRest.
Requis uniquement si le chemin vers la commande pgBackRest est différent sur les hôtes local et de dépôt. Si non défini, la commande de dépôt sera définie de la même manière que celle de l’hôte local.
Nom obsolète : backup-cmd
Option de configuration de l’hôte du dépôt (--repo-host-config)
Fichier de configuration du serveur de dépôt pgBackRest.
Spécifie l’emplacement du fichier de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le fichier de configuration de l’hôte du dépôt se trouve dans un emplacement différent du fichier de configuration local.
Nom obsolète : sauvegarde-config
Option de chemin d’inclusion de configuration d’hôte de dépôt (--repo-host-config-include-path)
Configuration du serveur de dépôt pgBackRest incluant le chemin.
Définit l’emplacement du chemin d’inclusion de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin d’inclusion de configuration de l’hôte du dépôt est différent du chemin d’inclusion de configuration local.
Chemin de configuration de l’hôte du dépôt (--repo-host-config-path)
Chemin de configuration du serveur de dépôt pgBackRest.
Définit l’emplacement du chemin de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin de configuration de l’hôte du dépôt est différent du chemin de configuration local.
Option de fichier de clé hôte du dépôt (--repo-host-key-file)
Fichier de clé hôte du dépôt.
Vérifie que le certificat client a été envoyé par le propriétaire.
Option de port 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 du serveur du dépôt.
NOTE : Lorsque
repo-host-type=ssh, il n’existe pas de valeur par défaut pourrepo-host-port. Dans ce cas, le port sera celui configuré pour la commande spécifiée parcmd-ssh.
Nom obsolète : backup-ssh-port
Type de protocole d’hôte de dépôt (--repo-host-type)
Type de protocole d’hôte de dépôt.
Les types de protocole suivants sont pris en charge :
ssh- Shell sécurisé.tls- Serveur TLS pgBackRest.
Option d’utilisateur hôte de dépôt (--repo-host-user)
Utilisateur hôte du dépôt lorsque repo-host est défini.
Définit l’utilisateur utilisé pour les opérations sur l’hôte du dépôt. Il est préférable que ce ne soit pas l’utilisateur postgres, mais plutôt un autre utilisateur tel que pgbackrest. Si PostgreSQL s’exécute sur l’hôte du dépôt, l’utilisateur postgres peut être ajouté au groupe pgbackrest afin d’avoir des permissions de lecture sur le dépôt sans pouvoir accidentellement le modifier.
Nom obsolète : backup-user
Option Chemin du dépôt (--repo-path)
Chemin où les sauvegardes et l’archive sont stockées.
Le dépôt est l’emplacement où pgBackRest stocke les sauvegardes et les archives des segments WAL.
Il peut être difficile de prévoir à l’avance l’espace nécessaire. La meilleure approche consiste à effectuer quelques sauvegardes, puis à noter la taille des différents types de sauvegardes (pleines, incrémentielles, différentielles) et à mesurer la quantité de WAL générée par jour. Cela vous donnera une idée générale de l’espace requis, bien que les besoins évoluent probablement au fil du temps avec l’évolution de votre base de données.
Option de bac de dépôt S3 (--repo-s3-bucket)
Dépôt S3.
Dépôt S3 utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par AWS dans le bucket.
Option de point de terminaison du dépôt S3 (--repo-s3-endpoint)
Point de terminaison du dépôt S3.
Le point de terminaison AWS doit être valide pour la région sélectionnée.
Pour les configurations personnalisées ou les tests, les options repo-storage-ca-file, repo-storage-ca-path, repo-storage-host, repo-storage-port, et repo-storage-verify-tls peuvent être utiles.
Type de clé du dépôt S3 (--repo-s3-key-type)
Type de clé pour le dépôt S3.
Les types suivants sont pris en charge :
shared- Clés partagéesauto- Récupérer automatiquement les identifiants temporairesweb-id- Récupérer automatiquement les identifiants d’identité webpod-id- Récupérer automatiquement les identifiants d’identité de pod EKSprocess- Récupérer les identifiants en exécutant un processus
Option ID de clé KMS pour dépôt S3 (--repo-s3-kms-key-id)
Clé KMS du dépôt S3.
Active le chiffrement côté serveur S3 en utilisant la clé du service de gestion des clés AWS spécifiée.
Option de commande du processus d’authentification S3 (--repo-s3-process-cmd)
Commande du processus d’authentification S3.
Commande (et arguments facultatifs) à exécuter pour récupérer les identifiants temporaires S3. Le premier élément de la liste est la commande, les éléments suivants sont passés en tant que paramètres.
Le processus doit produire un JSON contenant les champs AccessKeyId, SecretAccessKey, SessionToken et Expiration. Les identifiants seront automatiquement actualisés avant l’expiration. Voir Process Credential Provider
pour les détails du format.
Option de région du dépôt S3 (--repo-s3-region)
Région du dépôt S3.
La région AWS où le bucket a été créé.
Option Requesteur Payant pour le dépôt S3 (--repo-s3-requester-pays)
Dépôt S3 payeur de la demande.
Active le paiement par le demandeur S3.
Option de rôle du dépôt S3 (--repo-s3-role)
Rôle du dépôt S3.
Le nom du rôle AWS (pas le nom ARN complet) utilisé pour récupérer les identifiants temporaires lorsque repo-s3-key-type=auto.
Option de service de dépôt S3 (--repo-s3-service)
Service de signature S3.
Le service de signature S3 utilisé dans l’authentification SigV4. La valeur par défaut est s3 pour les points d’accès S3 standards. À définir sur s3-outposts lors de l’utilisation d’un point d’accès S3 Outposts.
Option de point de terminaison STS du dépôt S3 (--repo-s3-sts-host)
Point de terminaison STS du dépôt S3.
Point de terminaison STS utilisé pour récupérer des identifiants temporaires lorsque repo-s3-key-type=web-id est configuré. Définissez-le sur un point de terminaison régional (par exemple sts.us-east-1.amazonaws.com) pour utiliser STS régional, ce qui peut être nécessaire pour les régions GovCloud, Chine, ou pour réduire la latence.
Option de style d’URI de dépôt S3 (--repo-s3-uri-style)
Style d’URI S3.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôtebucket.endpoint.path- Se connecter à l’hôteendpointet préfixer les URI par le répertoire.
Option hôte du dépôt SFTP (--repo-sftp-host)
Hôte du dépôt SFTP.
Hôte SFTP contenant le dépôt.
Fingerprint de l’hôte du dépôt SFTP (--repo-sftp-host-fingerprint)
Empreinte du serveur hôte du dépôt SFTP.
La génération de l’empreinte d’hôte du dépôt SFTP doit correspondre à repo-sftp-host-key-hash-type. Générez l’empreinte via awk '{print $2}' ssh_host_xxx_key.pub | base64 -d | (md5sum or sha1sum) -b. Les clés d’hôte SSH se trouvent normalement dans le répertoire /etc/ssh.
Type d’option de vérification de la clé hôte SFTP (--repo-sftp-host-key-check-type)
Type de vérification de la clé hôte SFTP.
Les types de vérification de clé d’hôte SFTP suivants sont pris en charge :
strict- pgBackRest n’ajoutera jamais automatiquement les clés d’hôte au fichier ~/.ssh/known_hosts, et refusera de se connecter aux hôtes dont la clé d’hôte a changé ou n’est pas trouvée dans les fichiers known hosts. Cette option oblige l’utilisateur à ajouter manuellement tous les nouveaux hôtes.accept-new- pgBackRest ajoutera automatiquement les nouvelles clés d’hôte au fichier known hosts de l’utilisateur, mais n’autorisera pas les connexions aux hôtes dont la clé d’hôte a changé.fingerprint- pgBackRest vérifiera la clé d’hôte contre l’empreinte spécifiée par l’optionrepo-sftp-host-fingerprint.none- aucune vérification de clé d’hôte ne sera effectuée.
Type de hachage de la clé hôte du dépôt SFTP (--repo-sftp-host-key-hash-type)
Type de hachage de la clé d’hôte du dépôt SFTP.
Type de hachage de la clé hôte du dépôt SFTP. Déclare le type de hachage à utiliser pour calculer le hachage de la clé hôte du système distant au démarrage SSH. Les versions plus récentes de libssh2 prennent en charge sha256 en plus de md5 et sha1.
Option de port hôte du dépôt SFTP (--repo-sftp-host-port)
Port hôte du dépôt SFTP.
Port hôte du dépôt SFTP.
Option utilisateur hôte dépôt SFTP (--repo-sftp-host-user)
Utilisateur hôte du dépôt SFTP.
Utilisateur sur l’hôte utilisé pour stocker le dépôt.
Option fichier Hôtes SFTP connus (--repo-sftp-known-host)
Fichier d’hôtes SFTP connus.
Fichier known hosts à consulter pour rechercher une correspondance avec un hôte SFTP lors de l’authentification. Si non spécifié, pgBackRest recherchera par défaut dans ~/.ssh/known_hosts, ~/.ssh/known_hosts2, /etc/ssh/ssh_known_hosts et /etc/ssh/ssh_known_hosts2. Si configuré avec un ou plusieurs chemins de fichier, pgBackRest recherchera dans ces fichiers une correspondance. Les chemins de fichier doivent être complets ou commencer par un tilde. L’option repo-sftp-known-host peut être spécifiée plusieurs fois pour indiquer plusieurs fichiers known hosts à consulter. Pour utiliser la vérification du fichier known hosts, l’option repo-sftp-host-fingerprint ne doit pas être définie. Voir également l’option repo-sftp-host-check-type.
Option fichier de clé privée du dépôt SFTP (--repo-sftp-private-key-file)
Fichier de clé privée SFTP.
Fichier de clé privée SFTP utilisé pour l’authentification.
Option de fichier de clé publique du dépôt SFTP (--repo-sftp-public-key-file)
Fichier de clé publique SFTP.
Fichier de clé publique SFTP utilisé pour l’authentification. Facultatif si compilé contre OpenSSL, obligatoire si compilé contre une autre bibliothèque.
Option du fichier CA du dépôt de stockage (--repo-storage-ca-file)
Fichier de certificat d’autorité de certification pour le dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-file, repo-s3-ca-file
Option de chemin du certificat CA TLS pour le dépôt (--repo-storage-ca-path)
Chemin du certificat d’autorité de certification du dépôt.
Utilisez un chemin de certificat d’autorité de certification (CA) autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-path, repo-s3-ca-path
Option hôte de stockage du dépôt (--repo-storage-host)
Hôte de stockage du dépôt.
Se connecter à un hôte autre que le point de terminaison de stockage (par exemple S3, Azure). Cela est généralement utilisé pour les tests.
Noms obsolètes : repo-azure-host, repo-s3-host
Option de port du stockage du dépôt (--repo-storage-port)
Port du stockage du dépôt.
Port à utiliser lors de la connexion au point de terminaison du stockage (par exemple S3, Azure) ou à l’hôte (le cas échéant).
Noms obsolètes : repo-azure-port, repo-s3-port
Option d’étiquette de stockage du dépôt (--repo-storage-tag)
Étiquette(s) de stockage du dépôt.
Spécifiez les balises à ajouter aux objets lorsque le dépôt est un magasin d’objets (par exemple, S3). L’option peut être répétée pour ajouter plusieurs balises.
Il n’existe aucune fonctionnalité dans pgBackRest permettant de modifier ces balises ; veillez donc à les définir correctement avant d’exécuter stanza-create afin d’assurer une cohérence des balises dans l’ensemble du dépôt.
Option de taille de morceau de chargement du dépôt (--repo-storage-upload-chunk-size)
Taille du morceau de chargement du dépôt.
Les magasins d’objets tels que S3 permettent de télécharger des fichiers par morceaux lorsque le fichier est trop volumineux pour être stocké en mémoire. Même si le fichier peut être stocké en mémoire, il est plus efficace en mémoire de limiter la quantité de mémoire utilisée pour les téléchargements.
Une taille de morceau plus élevée entraîne généralement de meilleures performances, car elle réduit le nombre de requêtes de téléchargement et permet de télécharger plus de fichiers en une seule requête plutôt qu’en morceaux. Le désavantage est que la consommation mémoire sera plus élevée, et comme la mémoire tampon de morceau doit être allouée par processus, des valeurs plus élevées de process-max entraînent une consommation mémoire globale plus importante.
Notez que les tailles de morceau valides varient selon le type de stockage et la plateforme. Par exemple, AWS S3 impose une taille minimale de morceau de 5MiB. La terminologie relative à la taille du morceau varie selon le type de stockage ; utilisez donc « part size » pour AWS S3, « chunk size » pour GCS et « block size » pour Azure lorsque vous recherchez les valeurs minimales ou maximales.
Si un fichier est plus grand que 1GiB (la taille maximale que PostgreSQL crée par défaut), la taille de tranche sera augmentée progressivement jusqu’à la valeur maximale autorisée afin de terminer le téléchargement du fichier.
Option de vérification du certificat de stockage du dépôt (--repo-storage-verify-tls)
Vérification du certificat du dépôt de stockage.
Cette option permet d’activer/désactiver la vérification du certificat TLS du serveur de stockage (par exemple, S3, Azure). La désactivation ne doit être utilisée que pour des tests ou d’autres scénarios où un certificat a été auto-signé.
Noms obsolètes : repo-azure-verify-tls, repo-s3-verify-ssl, repo-s3-verify-tls
Heure cible pour l’option dépôt (--repo-target-time)
Heure cible pour le dépôt.
Le temps cible définit l’instant auquel les commandes lisent un dépôt sur un stockage versionné. Cela permet à la commande de lire le dépôt tel qu’il était à un instant donné, afin de récupérer des données supprimées ou corrompues par une erreur utilisateur ou un logiciel malveillant.
Le stockage versionné est pris en charge par S3, GCS et Azure, mais il est généralement désactivé par défaut. En plus d’activer la versioning, il peut être utile d’activer le verrouillage d’objets pour S3, ou la suppression progressive pour GCS ou Azure.
Lorsque l’option repo-target-time est spécifiée, l’option repo doit également être fournie. Il est probable que tous les types de dépôt ne prennent pas en charge la versionning, et il est généralement préférable de cibler un seul dépôt pour la récupération.
Notez que les comparaisons avec l’horodatage de stockage sont <= à l’horodatage fourni et que les millisecondes sont tronquées de l’horodatage lorsqu’elles sont fournies.
Option de type de dépôt (--repo-type)
Type de stockage utilisé pour le dépôt.
Les types de dépôt suivants sont pris en charge :
azure- Service de stockage Blob Azurecifs- Commeposix, mais désactive les liens et les fsyncs de répertoiregcs- Google Cloud Storageposix- Systèmes de fichiers conformes à Posixs3- AWS Simple Storage Servicesftp- Protocole de transfert de fichiers sécurisé
Lorsqu’un montage NFS est utilisé comme dépôt posix, les mêmes règles s’appliquent à pgBackRest qu’indiquées dans la documentation PostgreSQL : Création d’un cluster de base de données - Systèmes de fichiers
.
4.10 - Commande Liste des dépôts (repo-ls)
repo-ls.Similaire à la commande unix ls mais fonctionne sur tout type de dépôt pris en charge. Cette commande accepte un chemin, absolu ou relatif par rapport au chemin du dépôt défini par l’option --repo-path, et est principalement destinée à l’administration, l’investigation et les tests. Elle n’est pas obligatoire dans une configuration pgBackRest normale.
La sortie texte par défaut affiche un nom de fichier par ligne. La sortie JSON est disponible en spécifiant --output=json.
Si plusieurs dépôts sont configurés, la commande utilise par défaut le dépôt de priorité la plus élevée (par exemple repo1) sauf si l’option --repo est spécifiée.
Options de commande
Option de filtrage de sortie (--filter)
Filtrer la sortie avec une expression régulière.
Le filtre est appliqué aux noms de fichier/chemin avant leur sortie.
Option de sortie (--output)
Format de sortie.
Les types de sortie suivants sont pris en charge :
text- Liste simple contenant un nom de fichier/liens/chemin par ligne.json- Informations détaillées sur les fichiers/liens/chemins au format JSON.
Au format JSON, les champs disponibles sont :
name- nom de fichier/liens/chemin (et chemin partiel en cas de récursion).type-file,pathoulink.size- taille en octets (fichiers uniquement).time- horodatage de dernière modification (fichiers uniquement).destination- destination du lien (liens uniquement).
Option parcours des sous-répertoires (--recurse)
Inclure toutes les sous-chemins dans la sortie.
Tous les sous-chemins et leurs fichiers seront inclus dans la sortie.
Option de sortie de la sortie (--sort)
Trier la sortie par ordre croissant, décroissant ou aucun.
Les types de tri suivants sont pris en charge :
asc- tri croissant.desc- tri décroissant.none- pas de tri.
Options générales
Autoriser l’exécution en tant qu’utilisateur root (--allow-root)
Permettre à la commande de s’exécuter en tant qu’utilisateur root.
Par défaut, seul la commande restore peut être exécutée en tant qu’utilisateur root, car elle est conçue pour gérer soigneusement les propriétés des fichiers. Exécuter d’autres commandes en tant que root risque de créer des fichiers (par exemple dans le dépôt) dont le propriétaire est root, rendant ces fichiers inaccessibles à l’utilisateur PostgreSQL, ce qui entraîne l’échec des commandes ultérieures.
Activez cette option pour exécuter une commande en tant qu’utilisateur root malgré tout. Toutefois, il est bien préférable d’exécuter pgBackRest en tant qu’utilisateur propriétaire du dépôt et du cluster PostgreSQL.
Option Taille tampon (--buffer-size)
Taille du tampon pour les opérations d’E/S.
Taille de tampon utilisée pour les opérations de copie, de compression, de chiffrement et autres. Le nombre de tampons utilisés dépend des options, et chaque opération peut utiliser une mémoire supplémentaire, par exemple, la compression gz peut utiliser jusqu’à 256KiB de mémoire supplémentaire.
Les valeurs autorisées sont 16KiB, 32KiB, 64KiB, 128KiB, 256KiB, 512KiB, 1MiB, 2MiB, 4MiB, 8MiB et 16MiB.
Option de commande client SSH (--cmd-ssh)
Commande cliente SSH.
Utilisez une commande cliente SSH spécifique lorsque vous souhaitez utiliser une alternative ou que la commande ssh n’est pas disponible dans $PATH.
Option niveau de compression réseau (--compress-level-network)
Niveau de compression du réseau.
Définit le niveau de compression réseau lorsque compress-type=none et la commande ne sont pas exécutées sur le même hôte que le dépôt. La compression est utilisée pour réduire le trafic réseau. Lorsque compress-type est différent de none, le paramètre compress-level-network est ignoré et compress-level est utilisé à la place, afin que le fichier ne soit compressé qu’une seule fois.
Option de configuration (--config)
Fichier de configuration pgBackRest.
Utilisez cette option pour spécifier un fichier de configuration différent du fichier par défaut.
Option Chemin d’inclusion de configuration (--config-include-path)
Chemin vers les fichiers de configuration supplémentaires de pgBackRest.
Les fichiers de configuration se trouvant dans l’emplacement spécifié et ayant l’extension .conf seront concaténés au fichier de configuration de pgBackRest, ce qui donne un seul fichier de configuration.
Option de chemin de configuration (--config-path)
Chemin de base des fichiers de configuration de pgBackRest.
Ce paramètre est utilisé pour remplacer le chemin de base par défaut pour les options --config et --config-include-path, sauf si ces dernières sont explicitement définies en ligne de commande.
Par exemple, passer uniquement --config-path=/conf/pgbackrest fait que la valeur par défaut de --config est définie à /conf/pgbackrest/pgbackrest.conf et que la valeur par défaut de --config-include-path est définie à /conf/pgbackrest/conf.d.
Option d’expiration I/O (--io-timeout)
Délai d’attente d’E/S dépassé.
Délai d’attente, en secondes, utilisé pour les connexions et les opérations de lecture/écriture.
Notez que l’opération de lecture/écriture entière n’a pas besoin de se terminer dans ce délai d’attente, mais une certaine progression doit être réalisée, même si elle ne concerne qu’un seul octet.
Option de masque neutre (--neutral-umask)
Utilisez un umask neutre.
Définit le umask à 0000 afin que les modes du dépôt soient créés de manière cohérente. Le mode par défaut du répertoire est 0750 et le mode par défaut du fichier est 0640.
Pour utiliser le umask de l’utilisateur en cours, spécifiez neutral-umask=n dans le fichier de configuration ou --no-neutral-umask en ligne de commande.
Définir l’option de priorité du processus (--priority)
Définir la priorité du processus.
Définit la priorité (c’est-à-dire la valeur de niceness) accordée au processus par l’ordonnanceur du noyau. Les valeurs positives réduisent la priorité, tandis que les valeurs négatives l’augmentent. Dans la plupart des cas, les processus ne disposent pas des autorisations nécessaires pour augmenter leur priorité.
Option délai d’attente du protocole (--protocol-timeout)
Délai d’attente du protocole.
Définit le délai d’attente, en secondes, durant lequel le processus local ou distant attend qu’un nouveau message soit reçu au niveau du protocole. Cela empêche les processus de rester bloqués indéfiniment en attente d’un message.
NOTE : L’option
protocol-timeoutdoit être supérieure à l’optiondb-timeout.
Option Keep Alive (--sck-keep-alive)
Activation du keep-alive.
Active les messages keep-alive sur les connexions socket.
Option de nombre de connexions Keep Alive (--tcp-keep-alive-count)
Nombre de maintien de connexion.
Spécifie le nombre de messages TCP keep-alive pouvant être perdus avant que la connexion ne soit considérée comme inactive.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPCNT.
Option d’idle Keep Alive (--tcp-keep-alive-idle)
Délai d’inactivité pour la maintien de la connexion.
Spécifie la durée (en secondes) pendant laquelle aucune activité réseau ne se produit, après laquelle le système d’exploitation doit envoyer un message de maintien de connexion TCP.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPIDLE.
Option Intervalle Keep Alive (--tcp-keep-alive-interval)
Intervalle de temps pour la maintien de la connexion active.
Spécifie la durée (en secondes) après laquelle un message TCP keep-alive non reconnu doit être renvoyé.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPINTVL.
Suites de chiffrement TLSv1.2 Option (--tls-cipher-12)
Suites de chiffrement TLSv1.2 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. L’exemple proposé constitue un choix raisonnable sauf si des exigences de sécurité spécifiques s’appliquent. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Suites de chiffrement TLSv1.3 Option (--tls-cipher-13)
Suites de chiffrement TLSv1.3 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Options de journalisation
Niveau de journalisation de la console (--log-level-console)
Niveau de journalisation pour la console.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation du fichier (--log-level-file)
Niveau de journalisation des fichiers.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation des erreurs standard (--log-level-stderr)
Niveau de journalisation pour stderr.
Spécifie les niveaux de journalisation qui seront envoyés vers stderr plutôt que vers stdout (spécifié par log-level-console). L’horodatage et le processus ne seront pas envoyés vers stderr.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Option Chemin Journal (--log-path)
Chemin où les fichiers de journalisation sont stockés.
Le chemin de journalisation fournit un emplacement où pgBackRest peut stocker les fichiers de journalisation. Notez que si log-level-file=off, aucun chemin de journalisation n’est requis.
Option de journalisation des sous-processus (--log-subprocess)
Activer la journalisation dans les sous-processus.
Activez la journalisation des fichiers pour tout sous-processus créé par ce processus, en utilisant le niveau de journalisation spécifié par log-level-file.
Option de timestamp de journal (--log-timestamp)
Activer les horodatages dans la journalisation.
Active l’horodatage dans la journalisation console et fichier. Cette option est désactivée dans des situations spéciales, telles que la génération de documentation.
Options du dépôt
Définir l’option dépôt (--repo)
Définir le dépôt.
Spécifiez le dépôt sur lequel une commande doit s’opérer.
Par exemple, cette option peut être utilisée pour effectuer une restauration à partir d’un dépôt spécifique, plutôt que de laisser pgBackRest choisir.
Option de conteneur de dépôt Azure (--repo-azure-container)
Conteneur de dépôt Azure.
Conteneur Azure utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés dans la racine du conteneur en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par Azure dans le conteneur.
Type de clé du dépôt Azure (--repo-azure-key-type)
Type de clé du dépôt Azure.
Les types suivants sont pris en charge pour l’autorisation :
shared- Clé partagéesas- Signature d’accès partagéauto- Autorisation automatique à l’aide d’identités managées Azure
Option de style d’URI de dépôt Azure (--repo-azure-uri-style)
Style URI Azure.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôteaccount.endpoint.path- Se connecter à l’hôteendpointet préfixer le compte aux URI.
Type de chiffrement du dépôt (--repo-cipher-type)
Chiffrement 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 longueur de clé de 256 bits
Notez que le chiffrement est toujours effectué côté client, même si le type de dépôt (par exemple S3) prend en charge le chiffrement.
Option de bac de dépôt GCS (--repo-gcs-bucket)
Dépôt de bucket GCS.
Dépôt GCS utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par GCS dans le bucket.
Option de point de terminaison du dépôt GCS (--repo-gcs-endpoint)
Point de terminaison du dépôt GCS.
Point d’accès utilisé pour se connecter au service de stockage. Peut être mis à jour pour utiliser un serveur local GCS ou un point d’accès alternatif.
Type de clé du dépôt GCS (--repo-gcs-key-type)
Type de clé du dépôt GCS.
Les types suivants sont pris en charge pour l’autorisation :
auto- Autoriser à l’aide du compte de service de l’instance.service- Compte de service à partir d’une clé stockée localement.token- À utiliser pour les tests locaux, par exemplefakegcs.
Lorsque repo-gcs-key-type=service, les identifiants seront rechargés lorsque le jeton d’authentification sera renouvelé.
Option ID du projet du dépôt GCS (--repo-gcs-user-project)
Identifiant du projet GCS.
ID du projet GCS utilisé pour déterminer la facturation des requêtes.
Option hôte du dépôt (--repo-host)
Hôte du dépôt lors de l’opération à distance.
Lors de la sauvegarde et de l’archivage vers un système de fichiers monté localement, ce paramètre n’est pas requis.
Nom obsolète : backup-host
Option du fichier de l’autorité de certification hôte du dépôt (--repo-host-ca-file)
Fichier de l’autorité de certification du serveur de dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour vous connecter à l’hôte du dépôt.
Option Chemin de l’autorité de certification du dépôt (--repo-host-ca-path)
Chemin de l’autorité de certification du serveur de dépôt.
Utilisez un chemin de certificat d’autorité (CA) autre que celui par défaut du système pour établir la connexion avec l’hôte du dépôt.
Option de fichier de certificat d’hôte du dépôt (--repo-host-cert-file)
Fichier de certificat d’hôte du dépôt.
Envoyé à l’hôte du dépôt pour prouver l’identité du client.
Option de commande hôte du dépôt (--repo-host-cmd)
Hôte du dépôt commande pgBackRest.
Requis uniquement si le chemin vers la commande pgBackRest est différent sur les hôtes local et de dépôt. Si non défini, la commande de dépôt sera définie de la même manière que celle de l’hôte local.
Nom obsolète : backup-cmd
Option de configuration de l’hôte du dépôt (--repo-host-config)
Fichier de configuration du serveur de dépôt pgBackRest.
Spécifie l’emplacement du fichier de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le fichier de configuration de l’hôte du dépôt se trouve dans un emplacement différent du fichier de configuration local.
Nom obsolète : sauvegarde-config
Option de chemin d’inclusion de configuration d’hôte de dépôt (--repo-host-config-include-path)
Configuration du serveur de dépôt pgBackRest incluant le chemin.
Définit l’emplacement du chemin d’inclusion de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin d’inclusion de configuration de l’hôte du dépôt est différent du chemin d’inclusion de configuration local.
Chemin de configuration de l’hôte du dépôt (--repo-host-config-path)
Chemin de configuration du serveur de dépôt pgBackRest.
Définit l’emplacement du chemin de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin de configuration de l’hôte du dépôt est différent du chemin de configuration local.
Option de fichier de clé hôte du dépôt (--repo-host-key-file)
Fichier de clé hôte du dépôt.
Vérifie que le certificat client a été envoyé par le propriétaire.
Option de port 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 du serveur du dépôt.
NOTE : Lorsque
repo-host-type=ssh, il n’existe pas de valeur par défaut pourrepo-host-port. Dans ce cas, le port sera celui configuré pour la commande spécifiée parcmd-ssh.
Nom obsolète : backup-ssh-port
Type de protocole d’hôte de dépôt (--repo-host-type)
Type de protocole d’hôte de dépôt.
Les types de protocole suivants sont pris en charge :
ssh- Shell sécurisé.tls- Serveur TLS pgBackRest.
Option d’utilisateur hôte de dépôt (--repo-host-user)
Utilisateur hôte du dépôt lorsque repo-host est défini.
Définit l’utilisateur utilisé pour les opérations sur l’hôte du dépôt. Il est préférable que ce ne soit pas l’utilisateur postgres, mais plutôt un autre utilisateur tel que pgbackrest. Si PostgreSQL s’exécute sur l’hôte du dépôt, l’utilisateur postgres peut être ajouté au groupe pgbackrest afin d’avoir des permissions de lecture sur le dépôt sans pouvoir accidentellement le modifier.
Nom obsolète : backup-user
Option Chemin du dépôt (--repo-path)
Chemin où les sauvegardes et l’archive sont stockées.
Le dépôt est l’emplacement où pgBackRest stocke les sauvegardes et les archives des segments WAL.
Il peut être difficile de prévoir à l’avance l’espace nécessaire. La meilleure approche consiste à effectuer quelques sauvegardes, puis à noter la taille des différents types de sauvegardes (pleines, incrémentielles, différentielles) et à mesurer la quantité de WAL générée par jour. Cela vous donnera une idée générale de l’espace requis, bien que les besoins évoluent probablement au fil du temps avec l’évolution de votre base de données.
Option de bac de dépôt S3 (--repo-s3-bucket)
Dépôt S3.
Dépôt S3 utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par AWS dans le bucket.
Option de point de terminaison du dépôt S3 (--repo-s3-endpoint)
Point de terminaison du dépôt S3.
Le point de terminaison AWS doit être valide pour la région sélectionnée.
Pour les configurations personnalisées ou les tests, les options repo-storage-ca-file, repo-storage-ca-path, repo-storage-host, repo-storage-port, et repo-storage-verify-tls peuvent être utiles.
Type de clé du dépôt S3 (--repo-s3-key-type)
Type de clé pour le dépôt S3.
Les types suivants sont pris en charge :
shared- Clés partagéesauto- Récupérer automatiquement les identifiants temporairesweb-id- Récupérer automatiquement les identifiants d’identité webpod-id- Récupérer automatiquement les identifiants d’identité de pod EKSprocess- Récupérer les identifiants en exécutant un processus
Option ID de clé KMS pour dépôt S3 (--repo-s3-kms-key-id)
Clé KMS du dépôt S3.
Active le chiffrement côté serveur S3 en utilisant la clé du service de gestion des clés AWS spécifiée.
Option de commande du processus d’authentification S3 (--repo-s3-process-cmd)
Commande du processus d’authentification S3.
Commande (et arguments facultatifs) à exécuter pour récupérer les identifiants temporaires S3. Le premier élément de la liste est la commande, les éléments suivants sont passés en tant que paramètres.
Le processus doit produire un JSON contenant les champs AccessKeyId, SecretAccessKey, SessionToken et Expiration. Les identifiants seront automatiquement actualisés avant l’expiration. Voir Process Credential Provider
pour les détails du format.
Option de région du dépôt S3 (--repo-s3-region)
Région du dépôt S3.
La région AWS où le bucket a été créé.
Option Requesteur Payant pour le dépôt S3 (--repo-s3-requester-pays)
Dépôt S3 payeur de la demande.
Active le paiement par le demandeur S3.
Option de rôle du dépôt S3 (--repo-s3-role)
Rôle du dépôt S3.
Le nom du rôle AWS (pas le nom ARN complet) utilisé pour récupérer les identifiants temporaires lorsque repo-s3-key-type=auto.
Option de service de dépôt S3 (--repo-s3-service)
Service de signature S3.
Le service de signature S3 utilisé dans l’authentification SigV4. La valeur par défaut est s3 pour les points d’accès S3 standards. À définir sur s3-outposts lors de l’utilisation d’un point d’accès S3 Outposts.
Option de point de terminaison STS du dépôt S3 (--repo-s3-sts-host)
Point de terminaison STS du dépôt S3.
Point de terminaison STS utilisé pour récupérer des identifiants temporaires lorsque repo-s3-key-type=web-id est configuré. Définissez-le sur un point de terminaison régional (par exemple sts.us-east-1.amazonaws.com) pour utiliser STS régional, ce qui peut être nécessaire pour les régions GovCloud, Chine, ou pour réduire la latence.
Option de style d’URI de dépôt S3 (--repo-s3-uri-style)
Style d’URI S3.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôtebucket.endpoint.path- Se connecter à l’hôteendpointet préfixer les URI par le répertoire.
Option hôte du dépôt SFTP (--repo-sftp-host)
Hôte du dépôt SFTP.
Hôte SFTP contenant le dépôt.
Fingerprint de l’hôte du dépôt SFTP (--repo-sftp-host-fingerprint)
Empreinte du serveur hôte du dépôt SFTP.
La génération de l’empreinte d’hôte du dépôt SFTP doit correspondre à repo-sftp-host-key-hash-type. Générez l’empreinte via awk '{print $2}' ssh_host_xxx_key.pub | base64 -d | (md5sum or sha1sum) -b. Les clés d’hôte SSH se trouvent normalement dans le répertoire /etc/ssh.
Type d’option de vérification de la clé hôte SFTP (--repo-sftp-host-key-check-type)
Type de vérification de la clé hôte SFTP.
Les types de vérification de clé d’hôte SFTP suivants sont pris en charge :
strict- pgBackRest n’ajoutera jamais automatiquement les clés d’hôte au fichier ~/.ssh/known_hosts, et refusera de se connecter aux hôtes dont la clé d’hôte a changé ou n’est pas trouvée dans les fichiers known hosts. Cette option oblige l’utilisateur à ajouter manuellement tous les nouveaux hôtes.accept-new- pgBackRest ajoutera automatiquement les nouvelles clés d’hôte au fichier known hosts de l’utilisateur, mais n’autorisera pas les connexions aux hôtes dont la clé d’hôte a changé.fingerprint- pgBackRest vérifiera la clé d’hôte contre l’empreinte spécifiée par l’optionrepo-sftp-host-fingerprint.none- aucune vérification de clé d’hôte ne sera effectuée.
Type de hachage de la clé hôte du dépôt SFTP (--repo-sftp-host-key-hash-type)
Type de hachage de la clé d’hôte du dépôt SFTP.
Type de hachage de la clé hôte du dépôt SFTP. Déclare le type de hachage à utiliser pour calculer le hachage de la clé hôte du système distant au démarrage SSH. Les versions plus récentes de libssh2 prennent en charge sha256 en plus de md5 et sha1.
Option de port hôte du dépôt SFTP (--repo-sftp-host-port)
Port hôte du dépôt SFTP.
Port hôte du dépôt SFTP.
Option utilisateur hôte dépôt SFTP (--repo-sftp-host-user)
Utilisateur hôte du dépôt SFTP.
Utilisateur sur l’hôte utilisé pour stocker le dépôt.
Option fichier Hôtes SFTP connus (--repo-sftp-known-host)
Fichier d’hôtes SFTP connus.
Fichier known hosts à consulter pour rechercher une correspondance avec un hôte SFTP lors de l’authentification. Si non spécifié, pgBackRest recherchera par défaut dans ~/.ssh/known_hosts, ~/.ssh/known_hosts2, /etc/ssh/ssh_known_hosts et /etc/ssh/ssh_known_hosts2. Si configuré avec un ou plusieurs chemins de fichier, pgBackRest recherchera dans ces fichiers une correspondance. Les chemins de fichier doivent être complets ou commencer par un tilde. L’option repo-sftp-known-host peut être spécifiée plusieurs fois pour indiquer plusieurs fichiers known hosts à consulter. Pour utiliser la vérification du fichier known hosts, l’option repo-sftp-host-fingerprint ne doit pas être définie. Voir également l’option repo-sftp-host-check-type.
Option fichier de clé privée du dépôt SFTP (--repo-sftp-private-key-file)
Fichier de clé privée SFTP.
Fichier de clé privée SFTP utilisé pour l’authentification.
Option de fichier de clé publique du dépôt SFTP (--repo-sftp-public-key-file)
Fichier de clé publique SFTP.
Fichier de clé publique SFTP utilisé pour l’authentification. Facultatif si compilé contre OpenSSL, obligatoire si compilé contre une autre bibliothèque.
Option du fichier CA du dépôt de stockage (--repo-storage-ca-file)
Fichier de certificat d’autorité de certification pour le dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-file, repo-s3-ca-file
Option de chemin du certificat CA TLS pour le dépôt (--repo-storage-ca-path)
Chemin du certificat d’autorité de certification du dépôt.
Utilisez un chemin de certificat d’autorité de certification (CA) autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-path, repo-s3-ca-path
Option hôte de stockage du dépôt (--repo-storage-host)
Hôte de stockage du dépôt.
Se connecter à un hôte autre que le point de terminaison de stockage (par exemple S3, Azure). Cela est généralement utilisé pour les tests.
Noms obsolètes : repo-azure-host, repo-s3-host
Option de port du stockage du dépôt (--repo-storage-port)
Port du stockage du dépôt.
Port à utiliser lors de la connexion au point de terminaison du stockage (par exemple S3, Azure) ou à l’hôte (le cas échéant).
Noms obsolètes : repo-azure-port, repo-s3-port
Option d’étiquette de stockage du dépôt (--repo-storage-tag)
Étiquette(s) de stockage du dépôt.
Spécifiez les balises à ajouter aux objets lorsque le dépôt est un magasin d’objets (par exemple, S3). L’option peut être répétée pour ajouter plusieurs balises.
Il n’existe aucune fonctionnalité dans pgBackRest permettant de modifier ces balises ; veillez donc à les définir correctement avant d’exécuter stanza-create afin d’assurer une cohérence des balises dans l’ensemble du dépôt.
Option de taille de morceau de chargement du dépôt (--repo-storage-upload-chunk-size)
Taille du morceau de chargement du dépôt.
Les magasins d’objets tels que S3 permettent de télécharger des fichiers par morceaux lorsque le fichier est trop volumineux pour être stocké en mémoire. Même si le fichier peut être stocké en mémoire, il est plus efficace en mémoire de limiter la quantité de mémoire utilisée pour les téléchargements.
Une taille de morceau plus élevée entraîne généralement de meilleures performances, car elle réduit le nombre de requêtes de téléchargement et permet de télécharger plus de fichiers en une seule requête plutôt qu’en morceaux. Le désavantage est que la consommation mémoire sera plus élevée, et comme la mémoire tampon de morceau doit être allouée par processus, des valeurs plus élevées de process-max entraînent une consommation mémoire globale plus importante.
Notez que les tailles de morceau valides varient selon le type de stockage et la plateforme. Par exemple, AWS S3 impose une taille minimale de morceau de 5MiB. La terminologie relative à la taille du morceau varie selon le type de stockage ; utilisez donc « part size » pour AWS S3, « chunk size » pour GCS et « block size » pour Azure lorsque vous recherchez les valeurs minimales ou maximales.
Si un fichier est plus grand que 1GiB (la taille maximale que PostgreSQL crée par défaut), la taille de tranche sera augmentée progressivement jusqu’à la valeur maximale autorisée afin de terminer le téléchargement du fichier.
Option de vérification du certificat de stockage du dépôt (--repo-storage-verify-tls)
Vérification du certificat du dépôt de stockage.
Cette option permet d’activer/désactiver la vérification du certificat TLS du serveur de stockage (par exemple, S3, Azure). La désactivation ne doit être utilisée que pour des tests ou d’autres scénarios où un certificat a été auto-signé.
Noms obsolètes : repo-azure-verify-tls, repo-s3-verify-ssl, repo-s3-verify-tls
Heure cible pour l’option dépôt (--repo-target-time)
Heure cible pour le dépôt.
Le temps cible définit l’instant auquel les commandes lisent un dépôt sur un stockage versionné. Cela permet à la commande de lire le dépôt tel qu’il était à un instant donné, afin de récupérer des données supprimées ou corrompues par une erreur utilisateur ou un logiciel malveillant.
Le stockage versionné est pris en charge par S3, GCS et Azure, mais il est généralement désactivé par défaut. En plus d’activer la versioning, il peut être utile d’activer le verrouillage d’objets pour S3, ou la suppression progressive pour GCS ou Azure.
Lorsque l’option repo-target-time est spécifiée, l’option repo doit également être fournie. Il est probable que tous les types de dépôt ne prennent pas en charge la versionning, et il est généralement préférable de cibler un seul dépôt pour la récupération.
Notez que les comparaisons avec l’horodatage de stockage sont <= à l’horodatage fourni et que les millisecondes sont tronquées de l’horodatage lorsqu’elles sont fournies.
Option de type de dépôt (--repo-type)
Type de stockage utilisé pour le dépôt.
Les types de dépôt suivants sont pris en charge :
azure- Service de stockage Blob Azurecifs- Commeposix, mais désactive les liens et les fsyncs de répertoiregcs- Google Cloud Storageposix- Systèmes de fichiers conformes à Posixs3- AWS Simple Storage Servicesftp- Protocole de transfert de fichiers sécurisé
Lorsqu’un montage NFS est utilisé comme dépôt posix, les mêmes règles s’appliquent à pgBackRest qu’indiquées dans la documentation PostgreSQL : Création d’un cluster de base de données - Systèmes de fichiers
.
4.11 - Commande de restauration (restore)
restore.La commande de restauration sélectionne automatiquement la dernière sauvegarde du premier dépôt où des sauvegardes existent (voir Démarrage rapide - Restaurer une sauvegarde
). L’ordre dans lequel les dépôts sont vérifiés est déterminé par le pgbackrest.conf (par exemple, repo1 sera vérifié avant repo2). Pour sélectionner un dépôt spécifique, l’option --repo peut être utilisée (par exemple, --repo=1). L’option --set peut être utilisée si une sauvegarde autre que la plus récente est souhaitée.
Lorsqu’une restauration à un instant donné de --type=time ou --type=lsn est spécifiée, le temps cible ou le numéro LSN cible doit être précisé à l’aide de l’option --target. Si aucune sauvegarde n’est spécifiée via l’option --set, les dépôts configurés seront examinés, dans l’ordre, à la recherche d’une sauvegarde contenant le temps ou le numéro LSN demandés. Si aucune sauvegarde correspondante n’est trouvée, la dernière sauvegarde du premier dépôt contenant des sauvegardes sera utilisée pour --type=time, tandis qu’aucune sauvegarde ne sera sélectionnée pour --type=lsn. Pour les autres types de restauration à un instant donné, par exemple xid, l’option --set doit être fournie si le temps cible est antérieur à la dernière sauvegarde. Voir Restauration à un instant donné
pour plus de détails et d’exemples.
Les slots de réplication ne sont pas inclus, conformément à la recommandation de PostgreSQL. Consultez Sauvegarde du répertoire de données dans la documentation PostgreSQL pour plus d’informations.
Options de commande
Option Mode archive (--archive-mode)
Conserver ou désactiver l’archivage sur le cluster restauré.
Cette option permet de conserver ou de désactiver l’archivage sur un cluster restauré. Cela est utile lorsque le cluster doit être promu pour effectuer certaines opérations, mais n’est pas destiné à devenir le nouveau principal. Dans ce cas, il n’est pas recommandé d’envoyer les WAL depuis le cluster vers le dépôt.
Les modes suivants sont pris en charge :
off- désactiver l’archivage en définissantarchive_mode=off.preserve- conserver le paramètrearchive_modeactuel.
NOTE : Cette option n’est pas disponible sous PostgreSQL < 12.
Option d’exclusion de base de données (--db-exclude)
Restauration en excluant les bases de données spécifiées.
Les bases de données exclues seront restaurées sous forme de fichiers creux, initialisés à zéro, afin de économiser de l’espace, tout en permettant à PostgreSQL de réaliser la récupération. Après la récupération, ces bases de données ne seront pas accessibles, mais pourront être supprimées à l’aide de la commande drop database. L’option --db-exclude peut être spécifiée plusieurs fois afin de préciser plusieurs bases de données à exclure.
Lorsqu’il est utilisé en combinaison avec l’option --db-include, --db-exclude ne s’applique qu’aux bases de données système standard (template0, template1, et postgres).
Option base de données incluse (--db-include)
Restauration uniquement des bases de données spécifiées.
Cette fonctionnalité permet de ne restaurer que les bases de données sélectionnées. Les bases de données non spécifiquement incluses seront restaurées sous forme de fichiers creux, initialisés à zéro, afin de sauvegarder de l’espace, tout en permettant à PostgreSQL de réaliser la récupération. Après la récupération, les bases de données non incluses ne seront pas accessibles, mais peuvent être supprimées à l’aide de la commande drop database.
NOTE : les bases de données intégrées (
template0,template1etpostgres) sont toujours restaurées, sauf si elles sont spécifiquement exclues.
L’option --db-include peut être passée plusieurs fois pour spécifier plus d’une base de données à inclure.
Voir Restauration de bases de données sélectionnées pour plus d’informations et de précautions.
Option obligatoire (--force)
Forcer une restauration.
Par elle-même, cette option force la substitution complète des chemins des données PostgreSQL et des espaces de table. En combinaison avec --delta, une comparaison basée sur l’horodatage/taille sera effectuée au lieu d’utiliser les sommes de contrôle.
Lier toutes les options (--link-all)
Restaurez tous les liens symboliques.
Par défaut, les répertoires et fichiers symboliques sont restaurés en tant que répertoires et fichiers normaux dans $PGDATA. Cela est dû au fait qu’il peut ne pas être sécurisé de restaurer les liens symboliques vers leurs destinations d’origine sur un système différent de celui où la sauvegarde d’origine a été effectuée. Cette option restaure tous les liens symboliques exactement comme ils étaient sur le système d’origine où la sauvegarde a été effectuée.
Option de carte de lien (--link-map)
Modifier la destination d’un lien symbolique.
Permet de modifier le fichier ou le chemin de destination d’un lien symbolique lors d’une restauration. Cela est utile pour restaurer sur des systèmes ayant une disposition de stockage différente de celle du système d’origine où la sauvegarde a été générée.
Option de récupération (--recovery-option)
Définissez une option dans postgresql.auto.conf ou recovery.conf.
Consultez Configuration du serveur
pour obtenir les détails sur les options postgresql.auto.conf ou recovery.conf (assurez-vous de sélectionner votre version de PostgreSQL). Cette option peut être utilisée plusieurs fois.
Pour PostgreSQL >= 12, les options seront écrites dans postgresql.auto.conf. Pour toutes les autres versions, les options seront écrites dans recovery.conf.
NOTE : L’option
restore_commandsera générée automatiquement, mais peut être remplacée par cette option. Prenez garde à spécifier votre proprerestore_command, car pgBackRest est conçu pour gérer cela à votre place. Les options de récupération cible (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.
Comme pgBackRest ne démarre pas PostgreSQL après avoir écrit le fichier postgresql.auto.conf ou recovery.conf, il est toujours possible d’éditionner/vérifier postgresql.auto.conf ou recovery.conf avant de redémarrer manuellement.
Définir l’option (--set)
Sauvegarde définie pour la restauration.
Je jeu de sauvegarde à restaurer. latest restaurera la dernière sauvegarde, sinon indiquez le nom de la sauvegarde à restaurer.
Option de carte des espaces de table (--tablespace-map)
Restaurez un tablespace dans le répertoire spécifié.
Déplace un tablespace vers un nouvel emplacement pendant la restauration. Cela est utile lorsque les emplacements des tablespaces ne sont pas identiques sur un réplica, ou qu’un système mis à jour dispose de points de montage différents.
Les emplacements des tablespaces ne sont pas stockés dans pg_tablespace, aussi peut-on les déplacer sans risque. Toutefois, déplacer un tablespace vers data_directory n’est pas recommandé et peut entraîner des problèmes. Pour en savoir plus sur le déplacement des tablespaces, http://www.databasesoup.com/2013/11/moving-tablespaces.html
constitue une bonne ressource.
Option de mappage de tous les espaces de tableaux (--tablespace-map-all)
Restaurez tous les tablespace dans le répertoire spécifié.
Les espaces de table sont restaurés dans leurs emplacements d’origine par défaut. Ce comportement peut être modifié pour chaque espace de table grâce à l’option tablespace-map, mais il peut parfois être préférable de rediriger tous les espaces de table vers un nouveau répertoire d’un coup. Cela est particulièrement utile pour les systèmes de développement ou de préproduction qui peuvent ne pas avoir la même disposition de stockage que le système d’origine où la sauvegarde a été générée.
Le chemin spécifié sera le chemin parent utilisé pour créer tous les espaces de table dans la sauvegarde.
AVERTISSEMENT :
Les espaces de table créés après le début de la sauvegarde ne seront pas mappés. Effectuez une nouvelle sauvegarde après la création d’un espace de table si le mappage est requis.
Option cible (--target)
Cible de récupération.
Définit la cible de récupération lorsque --type est égal à lsn, name, xid ou time. Si la cible est antérieure à la dernière sauvegarde et que --type n’est pas time ou lsn, utilisez l’option --set pour préciser l’ensemble de sauvegarde.
Action cible Option (--target-action)
Action à entreprendre lorsque la cible de récupération est atteinte.
Lorsque hot_standby=on, par défaut depuis PostgreSQL 10, cette option contrôle de manière cohérente l’action entreprise par le cluster lorsque la cible est atteinte ou qu’aucun WAL n’est plus présent dans l’archive.
Lorsque hot_standby=off dans PostgreSQL >= 12, pause se comporte comme shutdown. Lorsque hot_standby=off dans PostgreSQL < 12, pause se comporte comme promote.
Les actions suivantes sont prises en charge :
pause- met en pause lorsque la cible de récupération est atteinte.promote- promeut et bascule de timeline lorsque la cible de récupération est atteinte.shutdown- arrête le serveur lorsque la cible de récupération est atteinte. (PostgreSQL >= 9.5)
Option cible exclusive (--target-exclusive)
Arrêtez juste avant d’atteindre la cible de récupération.
Définit si la récupération jusqu’à la cible sera exclusive (valeur par défaut : inclusive) et n’est valable que lorsque --type est égal à lsn, time ou xid. Par exemple, utiliser --target-exclusive exclut le contenu de la transaction 1007 lorsque --type=xid et --target=1007. Consultez l’option recovery_target_inclusive dans la documentation PostgreSQL pour plus d’informations.
Option Timeline cible (--target-timeline)
Restauration selon une chronologie.
Consultez recovery_target_timeline dans la documentation PostgreSQL pour plus d’informations.
Type Option (--type)
Type de récupération.
Les types de récupération suivants sont pris en charge :
default- restaurer jusqu’à la fin du flux d’archive.immediate- restaurer uniquement jusqu’à ce que la base de données devienne cohérente.lsn- restaurer jusqu’au numéro de séquence de journal (LSN) spécifié dans--target. Cette option n’est prise en charge que sur PostgreSQL >= 10.name- restaurer jusqu’au point de restauration spécifié dans--target.xid- restaurer jusqu’à l’identifiant de transaction spécifié dans--target.time- restaurer jusqu’à l’heure spécifiée dans--target.preserve- conserver le fichierpostgresql.auto.confourecovery.confexistant.standby- ajouterstandby_mode=onau fichierpostgresql.auto.confourecovery.confafin que le cluster démarre en mode secondaire.none- aucun fichierpostgresql.auto.confourecovery.confn’est écrit, de sorte que PostgreSQL tentera d’atteindre la cohérence à l’aide des segments WAL présents danspg_xlog/pg_wal. Fournissez les segments WAL requis ou utilisez le paramètrearchive-copypour les inclure dans la sauvegarde.
AVERTISSEMENT :
La récupération type=none doit être évitée, car la timeline ne sera pas incrémentée à la fin de la récupération. Cela peut entraîner, par exemple, une tentative par PostgreSQL d’archiver des WAL en double, qui sera rejetée, et provoquer une saturation du disque, pouvant entraîner une panique de PostgreSQL. En outre, des outils comme pg_rewind peuvent ne pas fonctionner correctement ou causer des corruptions.
Notez que la valeur par défaut de type pour les sauvegardes hors ligne est none car la restauration à un point précis n’est pas possible si wal_level=minimal. Si type est défini explicitement, sa valeur sera respectée, car la restauration à un point précis est possible à partir de sauvegardes hors ligne à condition que wal_level > minimal.
Options générales
Autoriser l’exécution en tant qu’utilisateur root (--allow-root)
Permettre à la commande de s’exécuter en tant qu’utilisateur root.
Par défaut, seul la commande restore peut être exécutée en tant qu’utilisateur root, car elle est conçue pour gérer soigneusement les propriétés des fichiers. Exécuter d’autres commandes en tant que root risque de créer des fichiers (par exemple dans le dépôt) dont le propriétaire est root, rendant ces fichiers inaccessibles à l’utilisateur PostgreSQL, ce qui entraîne l’échec des commandes ultérieures.
Activez cette option pour exécuter une commande en tant qu’utilisateur root malgré tout. Toutefois, il est bien préférable d’exécuter pgBackRest en tant qu’utilisateur propriétaire du dépôt et du cluster PostgreSQL.
Option Taille tampon (--buffer-size)
Taille du tampon pour les opérations d’E/S.
Taille de tampon utilisée pour les opérations de copie, de compression, de chiffrement et autres. Le nombre de tampons utilisés dépend des options, et chaque opération peut utiliser une mémoire supplémentaire, par exemple, la compression gz peut utiliser jusqu’à 256KiB de mémoire supplémentaire.
Les valeurs autorisées sont 16KiB, 32KiB, 64KiB, 128KiB, 256KiB, 512KiB, 1MiB, 2MiB, 4MiB, 8MiB et 16MiB.
Option de commande pgBackRest (--cmd)
Commande pgBackRest.
pgBackRest peut générer une chaîne de commande, par exemple lorsque la commande restore génère le paramètre restore_command. Dans ce cas, la commande utilisée pour exécuter le processus pgBackRest sera employée, sauf si l’option cmd est fournie.
AVERTISSEMENT :
Envelopper la commande pgBackRest peut entraîner un comportement imprévisible et n’est pas recommandé.
Option de commande client SSH (--cmd-ssh)
Commande cliente SSH.
Utilisez une commande cliente SSH spécifique lorsque vous souhaitez utiliser une alternative ou que la commande ssh n’est pas disponible dans $PATH.
Option niveau de compression réseau (--compress-level-network)
Niveau de compression du réseau.
Définit le niveau de compression réseau lorsque compress-type=none et la commande ne sont pas exécutées sur le même hôte que le dépôt. La compression est utilisée pour réduire le trafic réseau. Lorsque compress-type est différent de none, le paramètre compress-level-network est ignoré et compress-level est utilisé à la place, afin que le fichier ne soit compressé qu’une seule fois.
Option de configuration (--config)
Fichier de configuration pgBackRest.
Utilisez cette option pour spécifier un fichier de configuration différent du fichier par défaut.
Option Chemin d’inclusion de configuration (--config-include-path)
Chemin vers les fichiers de configuration supplémentaires de pgBackRest.
Les fichiers de configuration se trouvant dans l’emplacement spécifié et ayant l’extension .conf seront concaténés au fichier de configuration de pgBackRest, ce qui donne un seul fichier de configuration.
Option de chemin de configuration (--config-path)
Chemin de base des fichiers de configuration de pgBackRest.
Ce paramètre est utilisé pour remplacer le chemin de base par défaut pour les options --config et --config-include-path, sauf si ces dernières sont explicitement définies en ligne de commande.
Par exemple, passer uniquement --config-path=/conf/pgbackrest fait que la valeur par défaut de --config est définie à /conf/pgbackrest/pgbackrest.conf et que la valeur par défaut de --config-include-path est définie à /conf/pgbackrest/conf.d.
Option Delta (--delta)
Restauration ou sauvegarde à l’aide de sommes de contrôle.
Lors d’une restauration, par défaut, les répertoires de données PostgreSQL et les répertoires de tablespace sont supposés exister mais être vides. Cette option effectue une restauration incrémentielle à l’aide des sommes de contrôle.
Pendant une sauvegarde, cette option utilisera les sommes de contrôle au lieu des horodatages pour déterminer si les fichiers seront copiés.
Option d’expiration I/O (--io-timeout)
Délai d’attente d’E/S dépassé.
Délai d’attente, en secondes, utilisé pour les connexions et les opérations de lecture/écriture.
Notez que l’opération de lecture/écriture entière n’a pas besoin de se terminer dans ce délai d’attente, mais une certaine progression doit être réalisée, même si elle ne concerne qu’un seul octet.
Option Chemin verrou (--lock-path)
Chemin où les fichiers verrou sont stockés.
Le chemin de verrouillage fournit un emplacement où pgBackRest peut créer des fichiers de verrouillage afin d’empêcher l’exécution simultanée d’opérations en conflit.
Option de masque neutre (--neutral-umask)
Utilisez un umask neutre.
Définit le umask à 0000 afin que les modes du dépôt soient créés de manière cohérente. Le mode par défaut du répertoire est 0750 et le mode par défaut du fichier est 0640.
Pour utiliser le umask de l’utilisateur en cours, spécifiez neutral-umask=n dans le fichier de configuration ou --no-neutral-umask en ligne de commande.
Définir l’option de priorité du processus (--priority)
Définir la priorité du processus.
Définit la priorité (c’est-à-dire la valeur de niceness) accordée au processus par l’ordonnanceur du noyau. Les valeurs positives réduisent la priorité, tandis que les valeurs négatives l’augmentent. Dans la plupart des cas, les processus ne disposent pas des autorisations nécessaires pour augmenter leur priorité.
Option de processus maximum (--process-max)
Nombre maximal de processus à utiliser pour la compression ou le transfert.
Chaque processus effectuera une compression et un transfert afin d’accélérer l’exécution de la commande, mais ne définissez pas process-max trop élevé afin de ne pas affecter les performances de la base de données.
Option délai d’attente du protocole (--protocol-timeout)
Délai d’attente du protocole.
Définit le délai d’attente, en secondes, durant lequel le processus local ou distant attend qu’un nouveau message soit reçu au niveau du protocole. Cela empêche les processus de rester bloqués indéfiniment en attente d’un message.
NOTE : L’option
protocol-timeoutdoit être supérieure à l’optiondb-timeout.
Option Keep Alive (--sck-keep-alive)
Activation du keep-alive.
Active les messages keep-alive sur les connexions socket.
Option stanza (--stanza)
Définit la stanza.
Une stanza est la configuration d’un cluster de base de données PostgreSQL qui définit son emplacement, la manière dont il sera sauvegardé, les options d’archivage, etc. La plupart des serveurs de base de données n’ont qu’un seul cluster PostgreSQL et donc une seule stanza, tandis que les serveurs de sauvegarde ont une stanza pour chaque cluster de base de données à sauvegarder.
Il est tentant de nommer la stanza en fonction du cluster principal, mais un nom plus pertinent décrit les bases de données contenues dans le cluster. Étant donné que le nom de la stanza sera utilisé pour le principal et toutes les répliques, il est préférable de choisir un nom qui décrit la fonction réelle du cluster, par exemple app ou dw, plutôt que le nom local du cluster, comme main ou prod.
Option de nombre de connexions Keep Alive (--tcp-keep-alive-count)
Nombre de maintien de connexion.
Spécifie le nombre de messages TCP keep-alive pouvant être perdus avant que la connexion ne soit considérée comme inactive.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPCNT.
Option d’idle Keep Alive (--tcp-keep-alive-idle)
Délai d’inactivité pour la maintien de la connexion.
Spécifie la durée (en secondes) pendant laquelle aucune activité réseau ne se produit, après laquelle le système d’exploitation doit envoyer un message de maintien de connexion TCP.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPIDLE.
Option Intervalle Keep Alive (--tcp-keep-alive-interval)
Intervalle de temps pour la maintien de la connexion active.
Spécifie la durée (en secondes) après laquelle un message TCP keep-alive non reconnu doit être renvoyé.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPINTVL.
Suites de chiffrement TLSv1.2 Option (--tls-cipher-12)
Suites de chiffrement TLSv1.2 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. L’exemple proposé constitue un choix raisonnable sauf si des exigences de sécurité spécifiques s’appliquent. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Suites de chiffrement TLSv1.3 Option (--tls-cipher-13)
Suites de chiffrement TLSv1.3 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Options de journalisation
Niveau de journalisation de la console (--log-level-console)
Niveau de journalisation pour la console.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation du fichier (--log-level-file)
Niveau de journalisation des fichiers.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation des erreurs standard (--log-level-stderr)
Niveau de journalisation pour stderr.
Spécifie les niveaux de journalisation qui seront envoyés vers stderr plutôt que vers stdout (spécifié par log-level-console). L’horodatage et le processus ne seront pas envoyés vers stderr.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Option Chemin Journal (--log-path)
Chemin où les fichiers de journalisation sont stockés.
Le chemin de journalisation fournit un emplacement où pgBackRest peut stocker les fichiers de journalisation. Notez que si log-level-file=off, aucun chemin de journalisation n’est requis.
Option de journalisation des sous-processus (--log-subprocess)
Activer la journalisation dans les sous-processus.
Activez la journalisation des fichiers pour tout sous-processus créé par ce processus, en utilisant le niveau de journalisation spécifié par log-level-file.
Option de timestamp de journal (--log-timestamp)
Activer les horodatages dans la journalisation.
Active l’horodatage dans la journalisation console et fichier. Cette option est désactivée dans des situations spéciales, telles que la génération de documentation.
Options du mainteneur
Option de version PostgreSQL obligatoire (--pg-version-force)
Forcer la version de PostgreSQL.
La version de PostgreSQL spécifiée sera utilisée à la place de la version détectée automatiquement en lisant pg_control ou les en-têtes WAL. Cela est principalement utile pour les forks de PostgreSQL ou les versions de développement où ces valeurs diffèrent de la version de publication. La version rapportée par PostgreSQL via server_version_num doit correspondre à la version forcée.
AVERTISSEMENT :
Faites preuve de prudence en utilisant cette option, car pg_control et les en-têtes WAL seront toujours lus selon le format attendu pour la version spécifiée, c’est-à-dire le format issu de la version open-source officielle de PostgreSQL. Si la version fork ou développée modifie le format des champs sur lesquels pgBackRest dépend, cela entraînera un comportement imprévu. En général, cette option ne fonctionnera correctement que si le fork ajoute tous les membres de structure personnalisés après les membres standard de PostgreSQL.
Options du dépôt
Définir l’option dépôt (--repo)
Définir le dépôt.
Spécifiez le dépôt sur lequel une commande doit s’opérer.
Par exemple, cette option peut être utilisée pour effectuer une restauration à partir d’un dépôt spécifique, plutôt que de laisser pgBackRest choisir.
Option de conteneur de dépôt Azure (--repo-azure-container)
Conteneur de dépôt Azure.
Conteneur Azure utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés dans la racine du conteneur en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par Azure dans le conteneur.
Type de clé du dépôt Azure (--repo-azure-key-type)
Type de clé du dépôt Azure.
Les types suivants sont pris en charge pour l’autorisation :
shared- Clé partagéesas- Signature d’accès partagéauto- Autorisation automatique à l’aide d’identités managées Azure
Option de style d’URI de dépôt Azure (--repo-azure-uri-style)
Style URI Azure.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôteaccount.endpoint.path- Se connecter à l’hôteendpointet préfixer le compte aux URI.
Type de chiffrement du dépôt (--repo-cipher-type)
Chiffrement 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 longueur de clé de 256 bits
Notez que le chiffrement est toujours effectué côté client, même si le type de dépôt (par exemple S3) prend en charge le chiffrement.
Option de bac de dépôt GCS (--repo-gcs-bucket)
Dépôt de bucket GCS.
Dépôt GCS utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par GCS dans le bucket.
Option de point de terminaison du dépôt GCS (--repo-gcs-endpoint)
Point de terminaison du dépôt GCS.
Point d’accès utilisé pour se connecter au service de stockage. Peut être mis à jour pour utiliser un serveur local GCS ou un point d’accès alternatif.
Type de clé du dépôt GCS (--repo-gcs-key-type)
Type de clé du dépôt GCS.
Les types suivants sont pris en charge pour l’autorisation :
auto- Autoriser à l’aide du compte de service de l’instance.service- Compte de service à partir d’une clé stockée localement.token- À utiliser pour les tests locaux, par exemplefakegcs.
Lorsque repo-gcs-key-type=service, les identifiants seront rechargés lorsque le jeton d’authentification sera renouvelé.
Option ID du projet du dépôt GCS (--repo-gcs-user-project)
Identifiant du projet GCS.
ID du projet GCS utilisé pour déterminer la facturation des requêtes.
Option hôte du dépôt (--repo-host)
Hôte du dépôt lors de l’opération à distance.
Lors de la sauvegarde et de l’archivage vers un système de fichiers monté localement, ce paramètre n’est pas requis.
Nom obsolète : backup-host
Option du fichier de l’autorité de certification hôte du dépôt (--repo-host-ca-file)
Fichier de l’autorité de certification du serveur de dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour vous connecter à l’hôte du dépôt.
Option Chemin de l’autorité de certification du dépôt (--repo-host-ca-path)
Chemin de l’autorité de certification du serveur de dépôt.
Utilisez un chemin de certificat d’autorité (CA) autre que celui par défaut du système pour établir la connexion avec l’hôte du dépôt.
Option de fichier de certificat d’hôte du dépôt (--repo-host-cert-file)
Fichier de certificat d’hôte du dépôt.
Envoyé à l’hôte du dépôt pour prouver l’identité du client.
Option de commande hôte du dépôt (--repo-host-cmd)
Hôte du dépôt commande pgBackRest.
Requis uniquement si le chemin vers la commande pgBackRest est différent sur les hôtes local et de dépôt. Si non défini, la commande de dépôt sera définie de la même manière que celle de l’hôte local.
Nom obsolète : backup-cmd
Option de configuration de l’hôte du dépôt (--repo-host-config)
Fichier de configuration du serveur de dépôt pgBackRest.
Spécifie l’emplacement du fichier de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le fichier de configuration de l’hôte du dépôt se trouve dans un emplacement différent du fichier de configuration local.
Nom obsolète : sauvegarde-config
Option de chemin d’inclusion de configuration d’hôte de dépôt (--repo-host-config-include-path)
Configuration du serveur de dépôt pgBackRest incluant le chemin.
Définit l’emplacement du chemin d’inclusion de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin d’inclusion de configuration de l’hôte du dépôt est différent du chemin d’inclusion de configuration local.
Chemin de configuration de l’hôte du dépôt (--repo-host-config-path)
Chemin de configuration du serveur de dépôt pgBackRest.
Définit l’emplacement du chemin de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin de configuration de l’hôte du dépôt est différent du chemin de configuration local.
Option de fichier de clé hôte du dépôt (--repo-host-key-file)
Fichier de clé hôte du dépôt.
Vérifie que le certificat client a été envoyé par le propriétaire.
Option de port 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 du serveur du dépôt.
NOTE : Lorsque
repo-host-type=ssh, il n’existe pas de valeur par défaut pourrepo-host-port. Dans ce cas, le port sera celui configuré pour la commande spécifiée parcmd-ssh.
Nom obsolète : backup-ssh-port
Type de protocole d’hôte de dépôt (--repo-host-type)
Type de protocole d’hôte de dépôt.
Les types de protocole suivants sont pris en charge :
ssh- Shell sécurisé.tls- Serveur TLS pgBackRest.
Option d’utilisateur hôte de dépôt (--repo-host-user)
Utilisateur hôte du dépôt lorsque repo-host est défini.
Définit l’utilisateur utilisé pour les opérations sur l’hôte du dépôt. Il est préférable que ce ne soit pas l’utilisateur postgres, mais plutôt un autre utilisateur tel que pgbackrest. Si PostgreSQL s’exécute sur l’hôte du dépôt, l’utilisateur postgres peut être ajouté au groupe pgbackrest afin d’avoir des permissions de lecture sur le dépôt sans pouvoir accidentellement le modifier.
Nom obsolète : backup-user
Option Chemin du dépôt (--repo-path)
Chemin où les sauvegardes et l’archive sont stockées.
Le dépôt est l’emplacement où pgBackRest stocke les sauvegardes et les archives des segments WAL.
Il peut être difficile de prévoir à l’avance l’espace nécessaire. La meilleure approche consiste à effectuer quelques sauvegardes, puis à noter la taille des différents types de sauvegardes (pleines, incrémentielles, différentielles) et à mesurer la quantité de WAL générée par jour. Cela vous donnera une idée générale de l’espace requis, bien que les besoins évoluent probablement au fil du temps avec l’évolution de votre base de données.
Option de bac de dépôt S3 (--repo-s3-bucket)
Dépôt S3.
Dépôt S3 utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par AWS dans le bucket.
Option de point de terminaison du dépôt S3 (--repo-s3-endpoint)
Point de terminaison du dépôt S3.
Le point de terminaison AWS doit être valide pour la région sélectionnée.
Pour les configurations personnalisées ou les tests, les options repo-storage-ca-file, repo-storage-ca-path, repo-storage-host, repo-storage-port, et repo-storage-verify-tls peuvent être utiles.
Type de clé du dépôt S3 (--repo-s3-key-type)
Type de clé pour le dépôt S3.
Les types suivants sont pris en charge :
shared- Clés partagéesauto- Récupérer automatiquement les identifiants temporairesweb-id- Récupérer automatiquement les identifiants d’identité webpod-id- Récupérer automatiquement les identifiants d’identité de pod EKSprocess- Récupérer les identifiants en exécutant un processus
Option ID de clé KMS pour dépôt S3 (--repo-s3-kms-key-id)
Clé KMS du dépôt S3.
Active le chiffrement côté serveur S3 en utilisant la clé du service de gestion des clés AWS spécifiée.
Option de commande du processus d’authentification S3 (--repo-s3-process-cmd)
Commande du processus d’authentification S3.
Commande (et arguments facultatifs) à exécuter pour récupérer les identifiants temporaires S3. Le premier élément de la liste est la commande, les éléments suivants sont passés en tant que paramètres.
Le processus doit produire un JSON contenant les champs AccessKeyId, SecretAccessKey, SessionToken et Expiration. Les identifiants seront automatiquement actualisés avant l’expiration. Voir Process Credential Provider
pour les détails du format.
Option de région du dépôt S3 (--repo-s3-region)
Région du dépôt S3.
La région AWS où le bucket a été créé.
Option Requesteur Payant pour le dépôt S3 (--repo-s3-requester-pays)
Dépôt S3 payeur de la demande.
Active le paiement par le demandeur S3.
Option de rôle du dépôt S3 (--repo-s3-role)
Rôle du dépôt S3.
Le nom du rôle AWS (pas le nom ARN complet) utilisé pour récupérer les identifiants temporaires lorsque repo-s3-key-type=auto.
Option de service de dépôt S3 (--repo-s3-service)
Service de signature S3.
Le service de signature S3 utilisé dans l’authentification SigV4. La valeur par défaut est s3 pour les points d’accès S3 standards. À définir sur s3-outposts lors de l’utilisation d’un point d’accès S3 Outposts.
Option de point de terminaison STS du dépôt S3 (--repo-s3-sts-host)
Point de terminaison STS du dépôt S3.
Point de terminaison STS utilisé pour récupérer des identifiants temporaires lorsque repo-s3-key-type=web-id est configuré. Définissez-le sur un point de terminaison régional (par exemple sts.us-east-1.amazonaws.com) pour utiliser STS régional, ce qui peut être nécessaire pour les régions GovCloud, Chine, ou pour réduire la latence.
Option de style d’URI de dépôt S3 (--repo-s3-uri-style)
Style d’URI S3.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôtebucket.endpoint.path- Se connecter à l’hôteendpointet préfixer les URI par le répertoire.
Option hôte du dépôt SFTP (--repo-sftp-host)
Hôte du dépôt SFTP.
Hôte SFTP contenant le dépôt.
Fingerprint de l’hôte du dépôt SFTP (--repo-sftp-host-fingerprint)
Empreinte du serveur hôte du dépôt SFTP.
La génération de l’empreinte d’hôte du dépôt SFTP doit correspondre à repo-sftp-host-key-hash-type. Générez l’empreinte via awk '{print $2}' ssh_host_xxx_key.pub | base64 -d | (md5sum or sha1sum) -b. Les clés d’hôte SSH se trouvent normalement dans le répertoire /etc/ssh.
Type d’option de vérification de la clé hôte SFTP (--repo-sftp-host-key-check-type)
Type de vérification de la clé hôte SFTP.
Les types de vérification de clé d’hôte SFTP suivants sont pris en charge :
strict- pgBackRest n’ajoutera jamais automatiquement les clés d’hôte au fichier ~/.ssh/known_hosts, et refusera de se connecter aux hôtes dont la clé d’hôte a changé ou n’est pas trouvée dans les fichiers known hosts. Cette option oblige l’utilisateur à ajouter manuellement tous les nouveaux hôtes.accept-new- pgBackRest ajoutera automatiquement les nouvelles clés d’hôte au fichier known hosts de l’utilisateur, mais n’autorisera pas les connexions aux hôtes dont la clé d’hôte a changé.fingerprint- pgBackRest vérifiera la clé d’hôte contre l’empreinte spécifiée par l’optionrepo-sftp-host-fingerprint.none- aucune vérification de clé d’hôte ne sera effectuée.
Type de hachage de la clé hôte du dépôt SFTP (--repo-sftp-host-key-hash-type)
Type de hachage de la clé d’hôte du dépôt SFTP.
Type de hachage de la clé hôte du dépôt SFTP. Déclare le type de hachage à utiliser pour calculer le hachage de la clé hôte du système distant au démarrage SSH. Les versions plus récentes de libssh2 prennent en charge sha256 en plus de md5 et sha1.
Option de port hôte du dépôt SFTP (--repo-sftp-host-port)
Port hôte du dépôt SFTP.
Port hôte du dépôt SFTP.
Option utilisateur hôte dépôt SFTP (--repo-sftp-host-user)
Utilisateur hôte du dépôt SFTP.
Utilisateur sur l’hôte utilisé pour stocker le dépôt.
Option fichier Hôtes SFTP connus (--repo-sftp-known-host)
Fichier d’hôtes SFTP connus.
Fichier known hosts à consulter pour rechercher une correspondance avec un hôte SFTP lors de l’authentification. Si non spécifié, pgBackRest recherchera par défaut dans ~/.ssh/known_hosts, ~/.ssh/known_hosts2, /etc/ssh/ssh_known_hosts et /etc/ssh/ssh_known_hosts2. Si configuré avec un ou plusieurs chemins de fichier, pgBackRest recherchera dans ces fichiers une correspondance. Les chemins de fichier doivent être complets ou commencer par un tilde. L’option repo-sftp-known-host peut être spécifiée plusieurs fois pour indiquer plusieurs fichiers known hosts à consulter. Pour utiliser la vérification du fichier known hosts, l’option repo-sftp-host-fingerprint ne doit pas être définie. Voir également l’option repo-sftp-host-check-type.
Option fichier de clé privée du dépôt SFTP (--repo-sftp-private-key-file)
Fichier de clé privée SFTP.
Fichier de clé privée SFTP utilisé pour l’authentification.
Option de fichier de clé publique du dépôt SFTP (--repo-sftp-public-key-file)
Fichier de clé publique SFTP.
Fichier de clé publique SFTP utilisé pour l’authentification. Facultatif si compilé contre OpenSSL, obligatoire si compilé contre une autre bibliothèque.
Option du fichier CA du dépôt de stockage (--repo-storage-ca-file)
Fichier de certificat d’autorité de certification pour le dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-file, repo-s3-ca-file
Option de chemin du certificat CA TLS pour le dépôt (--repo-storage-ca-path)
Chemin du certificat d’autorité de certification du dépôt.
Utilisez un chemin de certificat d’autorité de certification (CA) autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-path, repo-s3-ca-path
Option hôte de stockage du dépôt (--repo-storage-host)
Hôte de stockage du dépôt.
Se connecter à un hôte autre que le point de terminaison de stockage (par exemple S3, Azure). Cela est généralement utilisé pour les tests.
Noms obsolètes : repo-azure-host, repo-s3-host
Option de port du stockage du dépôt (--repo-storage-port)
Port du stockage du dépôt.
Port à utiliser lors de la connexion au point de terminaison du stockage (par exemple S3, Azure) ou à l’hôte (le cas échéant).
Noms obsolètes : repo-azure-port, repo-s3-port
Option d’étiquette de stockage du dépôt (--repo-storage-tag)
Étiquette(s) de stockage du dépôt.
Spécifiez les balises à ajouter aux objets lorsque le dépôt est un magasin d’objets (par exemple, S3). L’option peut être répétée pour ajouter plusieurs balises.
Il n’existe aucune fonctionnalité dans pgBackRest permettant de modifier ces balises ; veillez donc à les définir correctement avant d’exécuter stanza-create afin d’assurer une cohérence des balises dans l’ensemble du dépôt.
Option de taille de morceau de chargement du dépôt (--repo-storage-upload-chunk-size)
Taille du morceau de chargement du dépôt.
Les magasins d’objets tels que S3 permettent de télécharger des fichiers par morceaux lorsque le fichier est trop volumineux pour être stocké en mémoire. Même si le fichier peut être stocké en mémoire, il est plus efficace en mémoire de limiter la quantité de mémoire utilisée pour les téléchargements.
Une taille de morceau plus élevée entraîne généralement de meilleures performances, car elle réduit le nombre de requêtes de téléchargement et permet de télécharger plus de fichiers en une seule requête plutôt qu’en morceaux. Le désavantage est que la consommation mémoire sera plus élevée, et comme la mémoire tampon de morceau doit être allouée par processus, des valeurs plus élevées de process-max entraînent une consommation mémoire globale plus importante.
Notez que les tailles de morceau valides varient selon le type de stockage et la plateforme. Par exemple, AWS S3 impose une taille minimale de morceau de 5MiB. La terminologie relative à la taille du morceau varie selon le type de stockage ; utilisez donc « part size » pour AWS S3, « chunk size » pour GCS et « block size » pour Azure lorsque vous recherchez les valeurs minimales ou maximales.
Si un fichier est plus grand que 1GiB (la taille maximale que PostgreSQL crée par défaut), la taille de tranche sera augmentée progressivement jusqu’à la valeur maximale autorisée afin de terminer le téléchargement du fichier.
Option de vérification du certificat de stockage du dépôt (--repo-storage-verify-tls)
Vérification du certificat du dépôt de stockage.
Cette option permet d’activer/désactiver la vérification du certificat TLS du serveur de stockage (par exemple, S3, Azure). La désactivation ne doit être utilisée que pour des tests ou d’autres scénarios où un certificat a été auto-signé.
Noms obsolètes : repo-azure-verify-tls, repo-s3-verify-ssl, repo-s3-verify-tls
Heure cible pour l’option dépôt (--repo-target-time)
Heure cible pour le dépôt.
Le temps cible définit l’instant auquel les commandes lisent un dépôt sur un stockage versionné. Cela permet à la commande de lire le dépôt tel qu’il était à un instant donné, afin de récupérer des données supprimées ou corrompues par une erreur utilisateur ou un logiciel malveillant.
Le stockage versionné est pris en charge par S3, GCS et Azure, mais il est généralement désactivé par défaut. En plus d’activer la versioning, il peut être utile d’activer le verrouillage d’objets pour S3, ou la suppression progressive pour GCS ou Azure.
Lorsque l’option repo-target-time est spécifiée, l’option repo doit également être fournie. Il est probable que tous les types de dépôt ne prennent pas en charge la versionning, et il est généralement préférable de cibler un seul dépôt pour la récupération.
Notez que les comparaisons avec l’horodatage de stockage sont <= à l’horodatage fourni et que les millisecondes sont tronquées de l’horodatage lorsqu’elles sont fournies.
Option de type de dépôt (--repo-type)
Type de stockage utilisé pour le dépôt.
Les types de dépôt suivants sont pris en charge :
azure- Service de stockage Blob Azurecifs- Commeposix, mais désactive les liens et les fsyncs de répertoiregcs- Google Cloud Storageposix- Systèmes de fichiers conformes à Posixs3- AWS Simple Storage Servicesftp- Protocole de transfert de fichiers sécurisé
Lorsqu’un montage NFS est utilisé comme dépôt posix, les mêmes règles s’appliquent à pgBackRest qu’indiquées dans la documentation PostgreSQL : Création d’un cluster de base de données - Systèmes de fichiers
.
Options de stanza
Option Chemin PostgreSQL (--pg-path)
Répertoire de données PostgreSQL.
Il doit être identique à la valeur data_directory rapportée par PostgreSQL. Même si cette valeur peut être lue à divers endroits, il est prudent de la définir afin de garantir sa disponibilité en cas de restauration ou de sauvegarde hors ligne.
L’option pg-path est vérifiée par rapport à la valeur rapportée par PostgreSQL à chaque sauvegarde en ligne, elle doit donc toujours être à jour.
Nom obsolète : db-path
4.12 - Commande serveur (server)
server.Le serveur pgBackRest permet d’accéder aux hôtes distants sans utiliser le protocole SSH.
Options de commande
Option d’adresse serveur TLS (--tls-server-address)
Adresse du serveur TLS.
Adresse IP sur laquelle le serveur écoute les requêtes clients.
Option Clients autorisés du serveur TLS (--tls-server-auth)
Clients autorisés du serveur TLS.
Les clients sont autorisés sur le serveur en vérifiant leur certificat et en comparant leur CN (Nom commun) au moyen d’une liste configurée sur le serveur via l’option tls-server-auth.
Un client CN peut être autorisé pour autant de stanzas que nécessaire en fournissant une liste séparée par des virgules à l’option tls-server-auth ou pour toutes les stanzas en spécifiant tls-server-auth=client-cn=*. Les caractères génériques ne peuvent pas être utilisés pour le CN du client.
Option Autorités de certification du serveur TLS (--tls-server-ca-file)
Autorités de certification du certificat serveur TLS.
Vérifie que les certificats client sont signés par une autorité de certification de confiance.
Option de certificat serveur TLS (--tls-server-cert-file)
Fichier de certificat serveur TLS.
Envoyé au client pour indiquer l’identité du serveur.
Option de clé de serveur TLS (--tls-server-key-file)
Fichier de clé du serveur TLS.
Vérifie que le certificat serveur a été envoyé par son propriétaire.
Option de port serveur TLS (--tls-server-port)
Port du serveur TLS.
Port sur lequel le serveur écoute les requêtes clients.
Options générales
Autoriser l’exécution en tant qu’utilisateur root (--allow-root)
Permettre à la commande de s’exécuter en tant qu’utilisateur root.
Par défaut, seul la commande restore peut être exécutée en tant qu’utilisateur root, car elle est conçue pour gérer soigneusement les propriétés des fichiers. Exécuter d’autres commandes en tant que root risque de créer des fichiers (par exemple dans le dépôt) dont le propriétaire est root, rendant ces fichiers inaccessibles à l’utilisateur PostgreSQL, ce qui entraîne l’échec des commandes ultérieures.
Activez cette option pour exécuter une commande en tant qu’utilisateur root malgré tout. Toutefois, il est bien préférable d’exécuter pgBackRest en tant qu’utilisateur propriétaire du dépôt et du cluster PostgreSQL.
Option Taille tampon (--buffer-size)
Taille du tampon pour les opérations d’E/S.
Taille de tampon utilisée pour les opérations de copie, de compression, de chiffrement et autres. Le nombre de tampons utilisés dépend des options, et chaque opération peut utiliser une mémoire supplémentaire, par exemple, la compression gz peut utiliser jusqu’à 256KiB de mémoire supplémentaire.
Les valeurs autorisées sont 16KiB, 32KiB, 64KiB, 128KiB, 256KiB, 512KiB, 1MiB, 2MiB, 4MiB, 8MiB et 16MiB.
Option de configuration (--config)
Fichier de configuration pgBackRest.
Utilisez cette option pour spécifier un fichier de configuration différent du fichier par défaut.
Option Chemin d’inclusion de configuration (--config-include-path)
Chemin vers les fichiers de configuration supplémentaires de pgBackRest.
Les fichiers de configuration se trouvant dans l’emplacement spécifié et ayant l’extension .conf seront concaténés au fichier de configuration de pgBackRest, ce qui donne un seul fichier de configuration.
Option de chemin de configuration (--config-path)
Chemin de base des fichiers de configuration de pgBackRest.
Ce paramètre est utilisé pour remplacer le chemin de base par défaut pour les options --config et --config-include-path, sauf si ces dernières sont explicitement définies en ligne de commande.
Par exemple, passer uniquement --config-path=/conf/pgbackrest fait que la valeur par défaut de --config est définie à /conf/pgbackrest/pgbackrest.conf et que la valeur par défaut de --config-include-path est définie à /conf/pgbackrest/conf.d.
Option d’expiration I/O (--io-timeout)
Délai d’attente d’E/S dépassé.
Délai d’attente, en secondes, utilisé pour les connexions et les opérations de lecture/écriture.
Notez que l’opération de lecture/écriture entière n’a pas besoin de se terminer dans ce délai d’attente, mais une certaine progression doit être réalisée, même si elle ne concerne qu’un seul octet.
Définir l’option de priorité du processus (--priority)
Définir la priorité du processus.
Définit la priorité (c’est-à-dire la valeur de niceness) accordée au processus par l’ordonnanceur du noyau. Les valeurs positives réduisent la priorité, tandis que les valeurs négatives l’augmentent. Dans la plupart des cas, les processus ne disposent pas des autorisations nécessaires pour augmenter leur priorité.
Option délai d’attente du protocole (--protocol-timeout)
Délai d’attente du protocole.
Définit le délai d’attente, en secondes, durant lequel le processus local ou distant attend qu’un nouveau message soit reçu au niveau du protocole. Cela empêche les processus de rester bloqués indéfiniment en attente d’un message.
NOTE : L’option
protocol-timeoutdoit être supérieure à l’optiondb-timeout.
Option Keep Alive (--sck-keep-alive)
Activation du keep-alive.
Active les messages keep-alive sur les connexions socket.
Option de nombre de connexions Keep Alive (--tcp-keep-alive-count)
Nombre de maintien de connexion.
Spécifie le nombre de messages TCP keep-alive pouvant être perdus avant que la connexion ne soit considérée comme inactive.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPCNT.
Option d’idle Keep Alive (--tcp-keep-alive-idle)
Délai d’inactivité pour la maintien de la connexion.
Spécifie la durée (en secondes) pendant laquelle aucune activité réseau ne se produit, après laquelle le système d’exploitation doit envoyer un message de maintien de connexion TCP.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPIDLE.
Option Intervalle Keep Alive (--tcp-keep-alive-interval)
Intervalle de temps pour la maintien de la connexion active.
Spécifie la durée (en secondes) après laquelle un message TCP keep-alive non reconnu doit être renvoyé.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPINTVL.
Suites de chiffrement TLSv1.2 Option (--tls-cipher-12)
Suites de chiffrement TLSv1.2 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. L’exemple proposé constitue un choix raisonnable sauf si des exigences de sécurité spécifiques s’appliquent. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Suites de chiffrement TLSv1.3 Option (--tls-cipher-13)
Suites de chiffrement TLSv1.3 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Options de journalisation
Niveau de journalisation de la console (--log-level-console)
Niveau de journalisation pour la console.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation du fichier (--log-level-file)
Niveau de journalisation des fichiers.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation des erreurs standard (--log-level-stderr)
Niveau de journalisation pour stderr.
Spécifie les niveaux de journalisation qui seront envoyés vers stderr plutôt que vers stdout (spécifié par log-level-console). L’horodatage et le processus ne seront pas envoyés vers stderr.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Option Chemin Journal (--log-path)
Chemin où les fichiers de journalisation sont stockés.
Le chemin de journalisation fournit un emplacement où pgBackRest peut stocker les fichiers de journalisation. Notez que si log-level-file=off, aucun chemin de journalisation n’est requis.
Option de timestamp de journal (--log-timestamp)
Activer les horodatages dans la journalisation.
Active l’horodatage dans la journalisation console et fichier. Cette option est désactivée dans des situations spéciales, telles que la génération de documentation.
4.13 - Commande de ping serveur (server-ping)
server-ping.Pongez un serveur TLS pgBackRest pour vérifier qu’il accepte les connexions. Cette opération ne sert qu’à vérifier la disponibilité, car aucune authentification n’est tentée.
Si aucun hôte n’est spécifié en ligne de commande, l’option tls-server-host sera utilisée.
Options de commande
Option d’adresse serveur TLS (--tls-server-address)
Adresse du serveur TLS.
Adresse IP sur laquelle le serveur écoute les requêtes clients.
Option de port serveur TLS (--tls-server-port)
Port du serveur TLS.
Port sur lequel le serveur écoute les requêtes clients.
Options générales
Autoriser l’exécution en tant qu’utilisateur root (--allow-root)
Permettre à la commande de s’exécuter en tant qu’utilisateur root.
Par défaut, seul la commande restore peut être exécutée en tant qu’utilisateur root, car elle est conçue pour gérer soigneusement les propriétés des fichiers. Exécuter d’autres commandes en tant que root risque de créer des fichiers (par exemple dans le dépôt) dont le propriétaire est root, rendant ces fichiers inaccessibles à l’utilisateur PostgreSQL, ce qui entraîne l’échec des commandes ultérieures.
Activez cette option pour exécuter une commande en tant qu’utilisateur root malgré tout. Toutefois, il est bien préférable d’exécuter pgBackRest en tant qu’utilisateur propriétaire du dépôt et du cluster PostgreSQL.
Option Taille tampon (--buffer-size)
Taille du tampon pour les opérations d’E/S.
Taille de tampon utilisée pour les opérations de copie, de compression, de chiffrement et autres. Le nombre de tampons utilisés dépend des options, et chaque opération peut utiliser une mémoire supplémentaire, par exemple, la compression gz peut utiliser jusqu’à 256KiB de mémoire supplémentaire.
Les valeurs autorisées sont 16KiB, 32KiB, 64KiB, 128KiB, 256KiB, 512KiB, 1MiB, 2MiB, 4MiB, 8MiB et 16MiB.
Option de configuration (--config)
Fichier de configuration pgBackRest.
Utilisez cette option pour spécifier un fichier de configuration différent du fichier par défaut.
Option Chemin d’inclusion de configuration (--config-include-path)
Chemin vers les fichiers de configuration supplémentaires de pgBackRest.
Les fichiers de configuration se trouvant dans l’emplacement spécifié et ayant l’extension .conf seront concaténés au fichier de configuration de pgBackRest, ce qui donne un seul fichier de configuration.
Option de chemin de configuration (--config-path)
Chemin de base des fichiers de configuration de pgBackRest.
Ce paramètre est utilisé pour remplacer le chemin de base par défaut pour les options --config et --config-include-path, sauf si ces dernières sont explicitement définies en ligne de commande.
Par exemple, passer uniquement --config-path=/conf/pgbackrest fait que la valeur par défaut de --config est définie à /conf/pgbackrest/pgbackrest.conf et que la valeur par défaut de --config-include-path est définie à /conf/pgbackrest/conf.d.
Option d’expiration I/O (--io-timeout)
Délai d’attente d’E/S dépassé.
Délai d’attente, en secondes, utilisé pour les connexions et les opérations de lecture/écriture.
Notez que l’opération de lecture/écriture entière n’a pas besoin de se terminer dans ce délai d’attente, mais une certaine progression doit être réalisée, même si elle ne concerne qu’un seul octet.
Définir l’option de priorité du processus (--priority)
Définir la priorité du processus.
Définit la priorité (c’est-à-dire la valeur de niceness) accordée au processus par l’ordonnanceur du noyau. Les valeurs positives réduisent la priorité, tandis que les valeurs négatives l’augmentent. Dans la plupart des cas, les processus ne disposent pas des autorisations nécessaires pour augmenter leur priorité.
Option Keep Alive (--sck-keep-alive)
Activation du keep-alive.
Active les messages keep-alive sur les connexions socket.
Option de nombre de connexions Keep Alive (--tcp-keep-alive-count)
Nombre de maintien de connexion.
Spécifie le nombre de messages TCP keep-alive pouvant être perdus avant que la connexion ne soit considérée comme inactive.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPCNT.
Option d’idle Keep Alive (--tcp-keep-alive-idle)
Délai d’inactivité pour la maintien de la connexion.
Spécifie la durée (en secondes) pendant laquelle aucune activité réseau ne se produit, après laquelle le système d’exploitation doit envoyer un message de maintien de connexion TCP.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPIDLE.
Option Intervalle Keep Alive (--tcp-keep-alive-interval)
Intervalle de temps pour la maintien de la connexion active.
Spécifie la durée (en secondes) après laquelle un message TCP keep-alive non reconnu doit être renvoyé.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPINTVL.
Suites de chiffrement TLSv1.2 Option (--tls-cipher-12)
Suites de chiffrement TLSv1.2 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. L’exemple proposé constitue un choix raisonnable sauf si des exigences de sécurité spécifiques s’appliquent. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Suites de chiffrement TLSv1.3 Option (--tls-cipher-13)
Suites de chiffrement TLSv1.3 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Options de journalisation
Niveau de journalisation de la console (--log-level-console)
Niveau de journalisation pour la console.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation du fichier (--log-level-file)
Niveau de journalisation des fichiers.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation des erreurs standard (--log-level-stderr)
Niveau de journalisation pour stderr.
Spécifie les niveaux de journalisation qui seront envoyés vers stderr plutôt que vers stdout (spécifié par log-level-console). L’horodatage et le processus ne seront pas envoyés vers stderr.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Option Chemin Journal (--log-path)
Chemin où les fichiers de journalisation sont stockés.
Le chemin de journalisation fournit un emplacement où pgBackRest peut stocker les fichiers de journalisation. Notez que si log-level-file=off, aucun chemin de journalisation n’est requis.
Option de timestamp de journal (--log-timestamp)
Activer les horodatages dans la journalisation.
Active l’horodatage dans la journalisation console et fichier. Cette option est désactivée dans des situations spéciales, telles que la génération de documentation.
4.14 - Commande de création de stanza (stanza-create)
stanza-create.La commande stanza-create doit être exécutée après la configuration du stanza dans pgbackrest.conf. Si plusieurs dépôts sont configurés, le stanza sera créé sur chacun d’eux. Les stanzas déjà créés seront ignorés, ce qui rend toujours sûr l’exécution de stanza-create, même après la configuration d’un nouveau dépôt.
Consultez Créer une stanza pour plus d’informations et un exemple.
Options de commande
Option en ligne (--online)
Créez sur un cluster en ligne.
Spécifier –no-online empêche pgBackRest de se connecter à PostgreSQL lors de la création de la stanza.
Options générales
Autoriser l’exécution en tant qu’utilisateur root (--allow-root)
Permettre à la commande de s’exécuter en tant qu’utilisateur root.
Par défaut, seul la commande restore peut être exécutée en tant qu’utilisateur root, car elle est conçue pour gérer soigneusement les propriétés des fichiers. Exécuter d’autres commandes en tant que root risque de créer des fichiers (par exemple dans le dépôt) dont le propriétaire est root, rendant ces fichiers inaccessibles à l’utilisateur PostgreSQL, ce qui entraîne l’échec des commandes ultérieures.
Activez cette option pour exécuter une commande en tant qu’utilisateur root malgré tout. Toutefois, il est bien préférable d’exécuter pgBackRest en tant qu’utilisateur propriétaire du dépôt et du cluster PostgreSQL.
Option Taille tampon (--buffer-size)
Taille du tampon pour les opérations d’E/S.
Taille de tampon utilisée pour les opérations de copie, de compression, de chiffrement et autres. Le nombre de tampons utilisés dépend des options, et chaque opération peut utiliser une mémoire supplémentaire, par exemple, la compression gz peut utiliser jusqu’à 256KiB de mémoire supplémentaire.
Les valeurs autorisées sont 16KiB, 32KiB, 64KiB, 128KiB, 256KiB, 512KiB, 1MiB, 2MiB, 4MiB, 8MiB et 16MiB.
Option de commande client SSH (--cmd-ssh)
Commande cliente SSH.
Utilisez une commande cliente SSH spécifique lorsque vous souhaitez utiliser une alternative ou que la commande ssh n’est pas disponible dans $PATH.
Option niveau de compression réseau (--compress-level-network)
Niveau de compression du réseau.
Définit le niveau de compression réseau lorsque compress-type=none et la commande ne sont pas exécutées sur le même hôte que le dépôt. La compression est utilisée pour réduire le trafic réseau. Lorsque compress-type est différent de none, le paramètre compress-level-network est ignoré et compress-level est utilisé à la place, afin que le fichier ne soit compressé qu’une seule fois.
Option de configuration (--config)
Fichier de configuration pgBackRest.
Utilisez cette option pour spécifier un fichier de configuration différent du fichier par défaut.
Option Chemin d’inclusion de configuration (--config-include-path)
Chemin vers les fichiers de configuration supplémentaires de pgBackRest.
Les fichiers de configuration se trouvant dans l’emplacement spécifié et ayant l’extension .conf seront concaténés au fichier de configuration de pgBackRest, ce qui donne un seul fichier de configuration.
Option de chemin de configuration (--config-path)
Chemin de base des fichiers de configuration de pgBackRest.
Ce paramètre est utilisé pour remplacer le chemin de base par défaut pour les options --config et --config-include-path, sauf si ces dernières sont explicitement définies en ligne de commande.
Par exemple, passer uniquement --config-path=/conf/pgbackrest fait que la valeur par défaut de --config est définie à /conf/pgbackrest/pgbackrest.conf et que la valeur par défaut de --config-include-path est définie à /conf/pgbackrest/conf.d.
Option de délai d’attente de la base de données (--db-timeout)
Délai d’attente dépassé pour la requête de base de données.
Définit le délai d’attente, en secondes, des requêtes effectuées contre la base de données. Cela inclut les fonctions de démarrage et d’arrêt de la sauvegarde, qui peuvent chacune prendre beaucoup de temps. En raison de cela, le délai d’attente doit être maintenu élevé, sauf si vous savez que ces fonctions retourneront rapidement (par exemple, si vous avez défini start-fast=y et que vous savez que le cluster de base de données ne générera pas beaucoup de segments WAL pendant la sauvegarde).
NOTE : L’option
db-timeoutdoit être inférieure à l’optionprotocol-timeout.
Option d’expiration I/O (--io-timeout)
Délai d’attente d’E/S dépassé.
Délai d’attente, en secondes, utilisé pour les connexions et les opérations de lecture/écriture.
Notez que l’opération de lecture/écriture entière n’a pas besoin de se terminer dans ce délai d’attente, mais une certaine progression doit être réalisée, même si elle ne concerne qu’un seul octet.
Option Chemin verrou (--lock-path)
Chemin où les fichiers verrou sont stockés.
Le chemin de verrouillage fournit un emplacement où pgBackRest peut créer des fichiers de verrouillage afin d’empêcher l’exécution simultanée d’opérations en conflit.
Option de masque neutre (--neutral-umask)
Utilisez un umask neutre.
Définit le umask à 0000 afin que les modes du dépôt soient créés de manière cohérente. Le mode par défaut du répertoire est 0750 et le mode par défaut du fichier est 0640.
Pour utiliser le umask de l’utilisateur en cours, spécifiez neutral-umask=n dans le fichier de configuration ou --no-neutral-umask en ligne de commande.
Définir l’option de priorité du processus (--priority)
Définir la priorité du processus.
Définit la priorité (c’est-à-dire la valeur de niceness) accordée au processus par l’ordonnanceur du noyau. Les valeurs positives réduisent la priorité, tandis que les valeurs négatives l’augmentent. Dans la plupart des cas, les processus ne disposent pas des autorisations nécessaires pour augmenter leur priorité.
Option délai d’attente du protocole (--protocol-timeout)
Délai d’attente du protocole.
Définit le délai d’attente, en secondes, durant lequel le processus local ou distant attend qu’un nouveau message soit reçu au niveau du protocole. Cela empêche les processus de rester bloqués indéfiniment en attente d’un message.
NOTE : L’option
protocol-timeoutdoit être supérieure à l’optiondb-timeout.
Option Keep Alive (--sck-keep-alive)
Activation du keep-alive.
Active les messages keep-alive sur les connexions socket.
Option stanza (--stanza)
Définit la stanza.
Une stanza est la configuration d’un cluster de base de données PostgreSQL qui définit son emplacement, la manière dont il sera sauvegardé, les options d’archivage, etc. La plupart des serveurs de base de données n’ont qu’un seul cluster PostgreSQL et donc une seule stanza, tandis que les serveurs de sauvegarde ont une stanza pour chaque cluster de base de données à sauvegarder.
Il est tentant de nommer la stanza en fonction du cluster principal, mais un nom plus pertinent décrit les bases de données contenues dans le cluster. Étant donné que le nom de la stanza sera utilisé pour le principal et toutes les répliques, il est préférable de choisir un nom qui décrit la fonction réelle du cluster, par exemple app ou dw, plutôt que le nom local du cluster, comme main ou prod.
Option de nombre de connexions Keep Alive (--tcp-keep-alive-count)
Nombre de maintien de connexion.
Spécifie le nombre de messages TCP keep-alive pouvant être perdus avant que la connexion ne soit considérée comme inactive.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPCNT.
Option d’idle Keep Alive (--tcp-keep-alive-idle)
Délai d’inactivité pour la maintien de la connexion.
Spécifie la durée (en secondes) pendant laquelle aucune activité réseau ne se produit, après laquelle le système d’exploitation doit envoyer un message de maintien de connexion TCP.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPIDLE.
Option Intervalle Keep Alive (--tcp-keep-alive-interval)
Intervalle de temps pour la maintien de la connexion active.
Spécifie la durée (en secondes) après laquelle un message TCP keep-alive non reconnu doit être renvoyé.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPINTVL.
Suites de chiffrement TLSv1.2 Option (--tls-cipher-12)
Suites de chiffrement TLSv1.2 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. L’exemple proposé constitue un choix raisonnable sauf si des exigences de sécurité spécifiques s’appliquent. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Suites de chiffrement TLSv1.3 Option (--tls-cipher-13)
Suites de chiffrement TLSv1.3 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Options de journalisation
Niveau de journalisation de la console (--log-level-console)
Niveau de journalisation pour la console.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation du fichier (--log-level-file)
Niveau de journalisation des fichiers.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation des erreurs standard (--log-level-stderr)
Niveau de journalisation pour stderr.
Spécifie les niveaux de journalisation qui seront envoyés vers stderr plutôt que vers stdout (spécifié par log-level-console). L’horodatage et le processus ne seront pas envoyés vers stderr.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Option Chemin Journal (--log-path)
Chemin où les fichiers de journalisation sont stockés.
Le chemin de journalisation fournit un emplacement où pgBackRest peut stocker les fichiers de journalisation. Notez que si log-level-file=off, aucun chemin de journalisation n’est requis.
Option de journalisation des sous-processus (--log-subprocess)
Activer la journalisation dans les sous-processus.
Activez la journalisation des fichiers pour tout sous-processus créé par ce processus, en utilisant le niveau de journalisation spécifié par log-level-file.
Option de timestamp de journal (--log-timestamp)
Activer les horodatages dans la journalisation.
Active l’horodatage dans la journalisation console et fichier. Cette option est désactivée dans des situations spéciales, telles que la génération de documentation.
Options du mainteneur
Option de version PostgreSQL obligatoire (--pg-version-force)
Forcer la version de PostgreSQL.
La version de PostgreSQL spécifiée sera utilisée à la place de la version détectée automatiquement en lisant pg_control ou les en-têtes WAL. Cela est principalement utile pour les forks de PostgreSQL ou les versions de développement où ces valeurs diffèrent de la version de publication. La version rapportée par PostgreSQL via server_version_num doit correspondre à la version forcée.
AVERTISSEMENT :
Faites preuve de prudence en utilisant cette option, car pg_control et les en-têtes WAL seront toujours lus selon le format attendu pour la version spécifiée, c’est-à-dire le format issu de la version open-source officielle de PostgreSQL. Si la version fork ou développée modifie le format des champs sur lesquels pgBackRest dépend, cela entraînera un comportement imprévu. En général, cette option ne fonctionnera correctement que si le fork ajoute tous les membres de structure personnalisés après les membres standard de PostgreSQL.
Options du dépôt
Option de conteneur de dépôt Azure (--repo-azure-container)
Conteneur de dépôt Azure.
Conteneur Azure utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés dans la racine du conteneur en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par Azure dans le conteneur.
Type de clé du dépôt Azure (--repo-azure-key-type)
Type de clé du dépôt Azure.
Les types suivants sont pris en charge pour l’autorisation :
shared- Clé partagéesas- Signature d’accès partagéauto- Autorisation automatique à l’aide d’identités managées Azure
Option de style d’URI de dépôt Azure (--repo-azure-uri-style)
Style URI Azure.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôteaccount.endpoint.path- Se connecter à l’hôteendpointet préfixer le compte aux URI.
Type de chiffrement du dépôt (--repo-cipher-type)
Chiffrement 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 longueur de clé de 256 bits
Notez que le chiffrement est toujours effectué côté client, même si le type de dépôt (par exemple S3) prend en charge le chiffrement.
Option de bac de dépôt GCS (--repo-gcs-bucket)
Dépôt de bucket GCS.
Dépôt GCS utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par GCS dans le bucket.
Option de point de terminaison du dépôt GCS (--repo-gcs-endpoint)
Point de terminaison du dépôt GCS.
Point d’accès utilisé pour se connecter au service de stockage. Peut être mis à jour pour utiliser un serveur local GCS ou un point d’accès alternatif.
Type de clé du dépôt GCS (--repo-gcs-key-type)
Type de clé du dépôt GCS.
Les types suivants sont pris en charge pour l’autorisation :
auto- Autoriser à l’aide du compte de service de l’instance.service- Compte de service à partir d’une clé stockée localement.token- À utiliser pour les tests locaux, par exemplefakegcs.
Lorsque repo-gcs-key-type=service, les identifiants seront rechargés lorsque le jeton d’authentification sera renouvelé.
Option ID du projet du dépôt GCS (--repo-gcs-user-project)
Identifiant du projet GCS.
ID du projet GCS utilisé pour déterminer la facturation des requêtes.
Option hôte du dépôt (--repo-host)
Hôte du dépôt lors de l’opération à distance.
Lors de la sauvegarde et de l’archivage vers un système de fichiers monté localement, ce paramètre n’est pas requis.
Nom obsolète : backup-host
Option du fichier de l’autorité de certification hôte du dépôt (--repo-host-ca-file)
Fichier de l’autorité de certification du serveur de dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour vous connecter à l’hôte du dépôt.
Option Chemin de l’autorité de certification du dépôt (--repo-host-ca-path)
Chemin de l’autorité de certification du serveur de dépôt.
Utilisez un chemin de certificat d’autorité (CA) autre que celui par défaut du système pour établir la connexion avec l’hôte du dépôt.
Option de fichier de certificat d’hôte du dépôt (--repo-host-cert-file)
Fichier de certificat d’hôte du dépôt.
Envoyé à l’hôte du dépôt pour prouver l’identité du client.
Option de commande hôte du dépôt (--repo-host-cmd)
Hôte du dépôt commande pgBackRest.
Requis uniquement si le chemin vers la commande pgBackRest est différent sur les hôtes local et de dépôt. Si non défini, la commande de dépôt sera définie de la même manière que celle de l’hôte local.
Nom obsolète : backup-cmd
Option de configuration de l’hôte du dépôt (--repo-host-config)
Fichier de configuration du serveur de dépôt pgBackRest.
Spécifie l’emplacement du fichier de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le fichier de configuration de l’hôte du dépôt se trouve dans un emplacement différent du fichier de configuration local.
Nom obsolète : sauvegarde-config
Option de chemin d’inclusion de configuration d’hôte de dépôt (--repo-host-config-include-path)
Configuration du serveur de dépôt pgBackRest incluant le chemin.
Définit l’emplacement du chemin d’inclusion de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin d’inclusion de configuration de l’hôte du dépôt est différent du chemin d’inclusion de configuration local.
Chemin de configuration de l’hôte du dépôt (--repo-host-config-path)
Chemin de configuration du serveur de dépôt pgBackRest.
Définit l’emplacement du chemin de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin de configuration de l’hôte du dépôt est différent du chemin de configuration local.
Option de fichier de clé hôte du dépôt (--repo-host-key-file)
Fichier de clé hôte du dépôt.
Vérifie que le certificat client a été envoyé par le propriétaire.
Option de port 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 du serveur du dépôt.
NOTE : Lorsque
repo-host-type=ssh, il n’existe pas de valeur par défaut pourrepo-host-port. Dans ce cas, le port sera celui configuré pour la commande spécifiée parcmd-ssh.
Nom obsolète : backup-ssh-port
Type de protocole d’hôte de dépôt (--repo-host-type)
Type de protocole d’hôte de dépôt.
Les types de protocole suivants sont pris en charge :
ssh- Shell sécurisé.tls- Serveur TLS pgBackRest.
Option d’utilisateur hôte de dépôt (--repo-host-user)
Utilisateur hôte du dépôt lorsque repo-host est défini.
Définit l’utilisateur utilisé pour les opérations sur l’hôte du dépôt. Il est préférable que ce ne soit pas l’utilisateur postgres, mais plutôt un autre utilisateur tel que pgbackrest. Si PostgreSQL s’exécute sur l’hôte du dépôt, l’utilisateur postgres peut être ajouté au groupe pgbackrest afin d’avoir des permissions de lecture sur le dépôt sans pouvoir accidentellement le modifier.
Nom obsolète : backup-user
Option Chemin du dépôt (--repo-path)
Chemin où les sauvegardes et l’archive sont stockées.
Le dépôt est l’emplacement où pgBackRest stocke les sauvegardes et les archives des segments WAL.
Il peut être difficile de prévoir à l’avance l’espace nécessaire. La meilleure approche consiste à effectuer quelques sauvegardes, puis à noter la taille des différents types de sauvegardes (pleines, incrémentielles, différentielles) et à mesurer la quantité de WAL générée par jour. Cela vous donnera une idée générale de l’espace requis, bien que les besoins évoluent probablement au fil du temps avec l’évolution de votre base de données.
Option de bac de dépôt S3 (--repo-s3-bucket)
Dépôt S3.
Dépôt S3 utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par AWS dans le bucket.
Option de point de terminaison du dépôt S3 (--repo-s3-endpoint)
Point de terminaison du dépôt S3.
Le point de terminaison AWS doit être valide pour la région sélectionnée.
Pour les configurations personnalisées ou les tests, les options repo-storage-ca-file, repo-storage-ca-path, repo-storage-host, repo-storage-port, et repo-storage-verify-tls peuvent être utiles.
Type de clé du dépôt S3 (--repo-s3-key-type)
Type de clé pour le dépôt S3.
Les types suivants sont pris en charge :
shared- Clés partagéesauto- Récupérer automatiquement les identifiants temporairesweb-id- Récupérer automatiquement les identifiants d’identité webpod-id- Récupérer automatiquement les identifiants d’identité de pod EKSprocess- Récupérer les identifiants en exécutant un processus
Option ID de clé KMS pour dépôt S3 (--repo-s3-kms-key-id)
Clé KMS du dépôt S3.
Active le chiffrement côté serveur S3 en utilisant la clé du service de gestion des clés AWS spécifiée.
Option de commande du processus d’authentification S3 (--repo-s3-process-cmd)
Commande du processus d’authentification S3.
Commande (et arguments facultatifs) à exécuter pour récupérer les identifiants temporaires S3. Le premier élément de la liste est la commande, les éléments suivants sont passés en tant que paramètres.
Le processus doit produire un JSON contenant les champs AccessKeyId, SecretAccessKey, SessionToken et Expiration. Les identifiants seront automatiquement actualisés avant l’expiration. Voir Process Credential Provider
pour les détails du format.
Option de région du dépôt S3 (--repo-s3-region)
Région du dépôt S3.
La région AWS où le bucket a été créé.
Option Requesteur Payant pour le dépôt S3 (--repo-s3-requester-pays)
Dépôt S3 payeur de la demande.
Active le paiement par le demandeur S3.
Option de rôle du dépôt S3 (--repo-s3-role)
Rôle du dépôt S3.
Le nom du rôle AWS (pas le nom ARN complet) utilisé pour récupérer les identifiants temporaires lorsque repo-s3-key-type=auto.
Option de service de dépôt S3 (--repo-s3-service)
Service de signature S3.
Le service de signature S3 utilisé dans l’authentification SigV4. La valeur par défaut est s3 pour les points d’accès S3 standards. À définir sur s3-outposts lors de l’utilisation d’un point d’accès S3 Outposts.
Option de point de terminaison STS du dépôt S3 (--repo-s3-sts-host)
Point de terminaison STS du dépôt S3.
Point de terminaison STS utilisé pour récupérer des identifiants temporaires lorsque repo-s3-key-type=web-id est configuré. Définissez-le sur un point de terminaison régional (par exemple sts.us-east-1.amazonaws.com) pour utiliser STS régional, ce qui peut être nécessaire pour les régions GovCloud, Chine, ou pour réduire la latence.
Option de style d’URI de dépôt S3 (--repo-s3-uri-style)
Style d’URI S3.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôtebucket.endpoint.path- Se connecter à l’hôteendpointet préfixer les URI par le répertoire.
Option hôte du dépôt SFTP (--repo-sftp-host)
Hôte du dépôt SFTP.
Hôte SFTP contenant le dépôt.
Fingerprint de l’hôte du dépôt SFTP (--repo-sftp-host-fingerprint)
Empreinte du serveur hôte du dépôt SFTP.
La génération de l’empreinte d’hôte du dépôt SFTP doit correspondre à repo-sftp-host-key-hash-type. Générez l’empreinte via awk '{print $2}' ssh_host_xxx_key.pub | base64 -d | (md5sum or sha1sum) -b. Les clés d’hôte SSH se trouvent normalement dans le répertoire /etc/ssh.
Type d’option de vérification de la clé hôte SFTP (--repo-sftp-host-key-check-type)
Type de vérification de la clé hôte SFTP.
Les types de vérification de clé d’hôte SFTP suivants sont pris en charge :
strict- pgBackRest n’ajoutera jamais automatiquement les clés d’hôte au fichier ~/.ssh/known_hosts, et refusera de se connecter aux hôtes dont la clé d’hôte a changé ou n’est pas trouvée dans les fichiers known hosts. Cette option oblige l’utilisateur à ajouter manuellement tous les nouveaux hôtes.accept-new- pgBackRest ajoutera automatiquement les nouvelles clés d’hôte au fichier known hosts de l’utilisateur, mais n’autorisera pas les connexions aux hôtes dont la clé d’hôte a changé.fingerprint- pgBackRest vérifiera la clé d’hôte contre l’empreinte spécifiée par l’optionrepo-sftp-host-fingerprint.none- aucune vérification de clé d’hôte ne sera effectuée.
Type de hachage de la clé hôte du dépôt SFTP (--repo-sftp-host-key-hash-type)
Type de hachage de la clé d’hôte du dépôt SFTP.
Type de hachage de la clé hôte du dépôt SFTP. Déclare le type de hachage à utiliser pour calculer le hachage de la clé hôte du système distant au démarrage SSH. Les versions plus récentes de libssh2 prennent en charge sha256 en plus de md5 et sha1.
Option de port hôte du dépôt SFTP (--repo-sftp-host-port)
Port hôte du dépôt SFTP.
Port hôte du dépôt SFTP.
Option utilisateur hôte dépôt SFTP (--repo-sftp-host-user)
Utilisateur hôte du dépôt SFTP.
Utilisateur sur l’hôte utilisé pour stocker le dépôt.
Option fichier Hôtes SFTP connus (--repo-sftp-known-host)
Fichier d’hôtes SFTP connus.
Fichier known hosts à consulter pour rechercher une correspondance avec un hôte SFTP lors de l’authentification. Si non spécifié, pgBackRest recherchera par défaut dans ~/.ssh/known_hosts, ~/.ssh/known_hosts2, /etc/ssh/ssh_known_hosts et /etc/ssh/ssh_known_hosts2. Si configuré avec un ou plusieurs chemins de fichier, pgBackRest recherchera dans ces fichiers une correspondance. Les chemins de fichier doivent être complets ou commencer par un tilde. L’option repo-sftp-known-host peut être spécifiée plusieurs fois pour indiquer plusieurs fichiers known hosts à consulter. Pour utiliser la vérification du fichier known hosts, l’option repo-sftp-host-fingerprint ne doit pas être définie. Voir également l’option repo-sftp-host-check-type.
Option fichier de clé privée du dépôt SFTP (--repo-sftp-private-key-file)
Fichier de clé privée SFTP.
Fichier de clé privée SFTP utilisé pour l’authentification.
Option de fichier de clé publique du dépôt SFTP (--repo-sftp-public-key-file)
Fichier de clé publique SFTP.
Fichier de clé publique SFTP utilisé pour l’authentification. Facultatif si compilé contre OpenSSL, obligatoire si compilé contre une autre bibliothèque.
Option du fichier CA du dépôt de stockage (--repo-storage-ca-file)
Fichier de certificat d’autorité de certification pour le dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-file, repo-s3-ca-file
Option de chemin du certificat CA TLS pour le dépôt (--repo-storage-ca-path)
Chemin du certificat d’autorité de certification du dépôt.
Utilisez un chemin de certificat d’autorité de certification (CA) autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-path, repo-s3-ca-path
Option hôte de stockage du dépôt (--repo-storage-host)
Hôte de stockage du dépôt.
Se connecter à un hôte autre que le point de terminaison de stockage (par exemple S3, Azure). Cela est généralement utilisé pour les tests.
Noms obsolètes : repo-azure-host, repo-s3-host
Option de port du stockage du dépôt (--repo-storage-port)
Port du stockage du dépôt.
Port à utiliser lors de la connexion au point de terminaison du stockage (par exemple S3, Azure) ou à l’hôte (le cas échéant).
Noms obsolètes : repo-azure-port, repo-s3-port
Option d’étiquette de stockage du dépôt (--repo-storage-tag)
Étiquette(s) de stockage du dépôt.
Spécifiez les balises à ajouter aux objets lorsque le dépôt est un magasin d’objets (par exemple, S3). L’option peut être répétée pour ajouter plusieurs balises.
Il n’existe aucune fonctionnalité dans pgBackRest permettant de modifier ces balises ; veillez donc à les définir correctement avant d’exécuter stanza-create afin d’assurer une cohérence des balises dans l’ensemble du dépôt.
Option de taille de morceau de chargement du dépôt (--repo-storage-upload-chunk-size)
Taille du morceau de chargement du dépôt.
Les magasins d’objets tels que S3 permettent de télécharger des fichiers par morceaux lorsque le fichier est trop volumineux pour être stocké en mémoire. Même si le fichier peut être stocké en mémoire, il est plus efficace en mémoire de limiter la quantité de mémoire utilisée pour les téléchargements.
Une taille de morceau plus élevée entraîne généralement de meilleures performances, car elle réduit le nombre de requêtes de téléchargement et permet de télécharger plus de fichiers en une seule requête plutôt qu’en morceaux. Le désavantage est que la consommation mémoire sera plus élevée, et comme la mémoire tampon de morceau doit être allouée par processus, des valeurs plus élevées de process-max entraînent une consommation mémoire globale plus importante.
Notez que les tailles de morceau valides varient selon le type de stockage et la plateforme. Par exemple, AWS S3 impose une taille minimale de morceau de 5MiB. La terminologie relative à la taille du morceau varie selon le type de stockage ; utilisez donc « part size » pour AWS S3, « chunk size » pour GCS et « block size » pour Azure lorsque vous recherchez les valeurs minimales ou maximales.
Si un fichier est plus grand que 1GiB (la taille maximale que PostgreSQL crée par défaut), la taille de tranche sera augmentée progressivement jusqu’à la valeur maximale autorisée afin de terminer le téléchargement du fichier.
Option de vérification du certificat de stockage du dépôt (--repo-storage-verify-tls)
Vérification du certificat du dépôt de stockage.
Cette option permet d’activer/désactiver la vérification du certificat TLS du serveur de stockage (par exemple, S3, Azure). La désactivation ne doit être utilisée que pour des tests ou d’autres scénarios où un certificat a été auto-signé.
Noms obsolètes : repo-azure-verify-tls, repo-s3-verify-ssl, repo-s3-verify-tls
Option de type de dépôt (--repo-type)
Type de stockage utilisé pour le dépôt.
Les types de dépôt suivants sont pris en charge :
azure- Service de stockage Blob Azurecifs- Commeposix, mais désactive les liens et les fsyncs de répertoiregcs- Google Cloud Storageposix- Systèmes de fichiers conformes à Posixs3- AWS Simple Storage Servicesftp- Protocole de transfert de fichiers sécurisé
Lorsqu’un montage NFS est utilisé comme dépôt posix, les mêmes règles s’appliquent à pgBackRest qu’indiquées dans la documentation PostgreSQL : Création d’un cluster de base de données - Systèmes de fichiers
.
Options de stanza
Option base de données PostgreSQL (--pg-database)
Base de données PostgreSQL.
Le nom de la base de données utilisé lors de la connexion à PostgreSQL. La valeur par défaut est généralement la meilleure option, mais certaines installations peuvent ne pas contenir cette base de données.
Notez que, pour des raisons historiques, le paramétrage de la variable d’environnement PGDATABASE sera ignoré.
Option Hôte PostgreSQL (--pg-host)
Hôte PostgreSQL pour une opération à distance.
Utilisé pour les sauvegardes où l’hôte PostgreSQL est différent de l’hôte du dépôt.
Nom obsolète : db-host
Option Fichier de l’Autorité de certification du serveur PostgreSQL (--pg-host-ca-file)
Fichier de l’autorité de certification du serveur PostgreSQL.
Utilisez un fichier CA autre que celui par défaut du système pour vous connecter à l’hôte PostgreSQL.
Option Chemin de l’Autorité de certification du serveur PostgreSQL (--pg-host-ca-path)
Chemin de l’autorité de certification du serveur PostgreSQL.
Utilisez un chemin de certificat d’autorité de certification (CA) autre que celui par défaut du système pour établir la connexion avec l’hôte PostgreSQL.
Option Fichier de certificat d’hôte PostgreSQL (--pg-host-cert-file)
Fichier de certificat d’hôte PostgreSQL.
Envoyé à l’hôte PostgreSQL pour prouver l’identité du client.
Option de commande hôte PostgreSQL (--pg-host-cmd)
Hôte PostgreSQL : commande pgBackRest.
Requis uniquement si le chemin vers la commande pgBackRest est différent sur les hôtes locaux et PostgreSQL. Si ce n’est pas défini, la commande sur l’hôte PostgreSQL sera définie de la même manière que celle sur l’hôte local.
Nom obsolète : db-cmd
Option de configuration hôte PostgreSQL (--pg-host-config)
Fichier de configuration du serveur de base de données pgBackRest.
Spécifie l’emplacement du fichier de configuration sur l’hôte PostgreSQL. Cette option est nécessaire uniquement si le fichier de configuration PostgreSQL est situé à un emplacement différent du fichier de configuration local.
Nom obsolète : db-config
Chemin d’inclusion de la configuration hôte PostgreSQL (--pg-host-config-include-path)
Configuration de l’hôte de base de données pgBackRest incluant le chemin.
Définit l’emplacement du chemin d’inclusion de configuration sur l’hôte PostgreSQL. Cette option est nécessaire uniquement si le chemin d’inclusion de configuration PostgreSQL se trouve dans un emplacement différent du chemin d’inclusion de configuration local.
Option de chemin de configuration de l’hôte PostgreSQL (--pg-host-config-path)
Chemin de configuration de l’hôte de base de données pgBackRest.
Définit l’emplacement du chemin de configuration sur l’hôte PostgreSQL. Cette option est nécessaire uniquement si le chemin de configuration PostgreSQL se trouve dans un emplacement différent du chemin de configuration local.
Option fichier clé hôte PostgreSQL (--pg-host-key-file)
Fichier de clé hôte PostgreSQL.
Vérifie que le certificat client a été envoyé par le propriétaire.
Option Port hôte PostgreSQL (--pg-host-port)
Port de l’hôte PostgreSQL lorsque pg-host est défini.
Utilisez cette option pour spécifier un port non par défaut pour le protocole d’hôte PostgreSQL.
NOTE : Lorsque
pg-host-type=ssh, il n’existe pas de valeur par défaut pourpg-host-port. Dans ce cas, le port sera celui configuré pour la commande spécifiée parcmd-ssh.
Nom obsolète : db-ssh-port
Type de protocole d’hôte PostgreSQL (--pg-host-type)
Type de protocole hôte PostgreSQL.
Les types de protocole suivants sont pris en charge :
ssh- Shell sécurisé.tls- Serveur TLS pgBackRest.
Option utilisateur hôte PostgreSQL (--pg-host-user)
Utilisateur de connexion au serveur PostgreSQL lorsqu’pg-host est défini.
Cet utilisateur possédera également le processus pgBackRest distant et initiera les connexions à PostgreSQL. Pour que cela fonctionne correctement, l’utilisateur doit être le propriétaire du cluster de base de données PostgreSQL, ce qui correspond généralement à postgres, la valeur par défaut.
Nom obsolète : db-user
Option Chemin PostgreSQL (--pg-path)
Répertoire de données PostgreSQL.
Il doit être identique à la valeur data_directory rapportée par PostgreSQL. Même si cette valeur peut être lue à divers endroits, il est prudent de la définir afin de garantir sa disponibilité en cas de restauration ou de sauvegarde hors ligne.
L’option pg-path est vérifiée par rapport à la valeur rapportée par PostgreSQL à chaque sauvegarde en ligne, elle doit donc toujours être à jour.
Nom obsolète : db-path
Option de port PostgreSQL (--pg-port)
Port PostgreSQL.
Port sur lequel PostgreSQL est en cours d’exécution. Ce paramètre n’a généralement pas besoin d’être spécifié, car la plupart des clusters PostgreSQL s’exécutent sur le port par défaut.
Nom obsolète : db-port
Option Chemin du socket PostgreSQL (--pg-socket-path)
Chemin du socket Unix de PostgreSQL.
Répertoire du socket Unix spécifié lors du démarrage de PostgreSQL. pgBackRest recherche automatiquement dans l’emplacement standard de votre système d’exploitation, aussi il est généralement inutile de préciser ce paramètre, sauf si le répertoire du socket a été explicitement modifié à l’aide du paramètre unix_socket_directories dans postgresql.conf.
Nom obsolète : db-socket-path
Option utilisateur de base de données PostgreSQL (--pg-user)
Utilisateur de base de données PostgreSQL.
Le nom d’utilisateur de la base de données utilisé lors de la connexion à PostgreSQL. Si non spécifié, pgBackRest se connectera avec l’utilisateur système local ou PGUSER.
4.15 - Commande de suppression de stanza (stanza-delete)
stanza-delete.La commande stanza-delete supprime les données du dépôt associées à un stanza.
AVERTISSEMENT :
Utilisez cette commande avec précaution — elle supprimera définitivement toutes les sauvegardes et archives du dépôt pgBackRest pour le stanza spécifié.
Pour supprimer une stanza :
- Arrêtez le cluster PostgreSQL associé à la stanza (ou utilisez –force pour l’ignorer).
- Exécutez la commande
stopsur l’hôte où la commandestanza-deletesera exécutée. - Exécutez la commande
stanza-delete.
Une fois la commande exécutée avec succès, il incombe à l’utilisateur de supprimer la stanza de tous les fichiers de configuration pgBackRest et/ou des variables d’environnement.
Un stanza ne peut être supprimé que d’un dépôt à la fois. Pour supprimer le stanza de plusieurs dépôts, répétez la commande stanza-delete pour chaque dépôt tout en spécifiant l’option --repo.
Options de commande
Option obligatoire (--force)
Forcer la suppression d’une stanza.
Si PostgreSQL est toujours en cours d’exécution pour le stanza, cette option peut être utilisée pour forcer la suppression du stanza depuis le dépôt.
Options générales
Autoriser l’exécution en tant qu’utilisateur root (--allow-root)
Permettre à la commande de s’exécuter en tant qu’utilisateur root.
Par défaut, seul la commande restore peut être exécutée en tant qu’utilisateur root, car elle est conçue pour gérer soigneusement les propriétés des fichiers. Exécuter d’autres commandes en tant que root risque de créer des fichiers (par exemple dans le dépôt) dont le propriétaire est root, rendant ces fichiers inaccessibles à l’utilisateur PostgreSQL, ce qui entraîne l’échec des commandes ultérieures.
Activez cette option pour exécuter une commande en tant qu’utilisateur root malgré tout. Toutefois, il est bien préférable d’exécuter pgBackRest en tant qu’utilisateur propriétaire du dépôt et du cluster PostgreSQL.
Option Taille tampon (--buffer-size)
Taille du tampon pour les opérations d’E/S.
Taille de tampon utilisée pour les opérations de copie, de compression, de chiffrement et autres. Le nombre de tampons utilisés dépend des options, et chaque opération peut utiliser une mémoire supplémentaire, par exemple, la compression gz peut utiliser jusqu’à 256KiB de mémoire supplémentaire.
Les valeurs autorisées sont 16KiB, 32KiB, 64KiB, 128KiB, 256KiB, 512KiB, 1MiB, 2MiB, 4MiB, 8MiB et 16MiB.
Option de commande client SSH (--cmd-ssh)
Commande cliente SSH.
Utilisez une commande cliente SSH spécifique lorsque vous souhaitez utiliser une alternative ou que la commande ssh n’est pas disponible dans $PATH.
Option niveau de compression réseau (--compress-level-network)
Niveau de compression du réseau.
Définit le niveau de compression réseau lorsque compress-type=none et la commande ne sont pas exécutées sur le même hôte que le dépôt. La compression est utilisée pour réduire le trafic réseau. Lorsque compress-type est différent de none, le paramètre compress-level-network est ignoré et compress-level est utilisé à la place, afin que le fichier ne soit compressé qu’une seule fois.
Option de configuration (--config)
Fichier de configuration pgBackRest.
Utilisez cette option pour spécifier un fichier de configuration différent du fichier par défaut.
Option Chemin d’inclusion de configuration (--config-include-path)
Chemin vers les fichiers de configuration supplémentaires de pgBackRest.
Les fichiers de configuration se trouvant dans l’emplacement spécifié et ayant l’extension .conf seront concaténés au fichier de configuration de pgBackRest, ce qui donne un seul fichier de configuration.
Option de chemin de configuration (--config-path)
Chemin de base des fichiers de configuration de pgBackRest.
Ce paramètre est utilisé pour remplacer le chemin de base par défaut pour les options --config et --config-include-path, sauf si ces dernières sont explicitement définies en ligne de commande.
Par exemple, passer uniquement --config-path=/conf/pgbackrest fait que la valeur par défaut de --config est définie à /conf/pgbackrest/pgbackrest.conf et que la valeur par défaut de --config-include-path est définie à /conf/pgbackrest/conf.d.
Option de délai d’attente de la base de données (--db-timeout)
Délai d’attente dépassé pour la requête de base de données.
Définit le délai d’attente, en secondes, des requêtes effectuées contre la base de données. Cela inclut les fonctions de démarrage et d’arrêt de la sauvegarde, qui peuvent chacune prendre beaucoup de temps. En raison de cela, le délai d’attente doit être maintenu élevé, sauf si vous savez que ces fonctions retourneront rapidement (par exemple, si vous avez défini start-fast=y et que vous savez que le cluster de base de données ne générera pas beaucoup de segments WAL pendant la sauvegarde).
NOTE : L’option
db-timeoutdoit être inférieure à l’optionprotocol-timeout.
Option d’expiration I/O (--io-timeout)
Délai d’attente d’E/S dépassé.
Délai d’attente, en secondes, utilisé pour les connexions et les opérations de lecture/écriture.
Notez que l’opération de lecture/écriture entière n’a pas besoin de se terminer dans ce délai d’attente, mais une certaine progression doit être réalisée, même si elle ne concerne qu’un seul octet.
Option Chemin verrou (--lock-path)
Chemin où les fichiers verrou sont stockés.
Le chemin de verrouillage fournit un emplacement où pgBackRest peut créer des fichiers de verrouillage afin d’empêcher l’exécution simultanée d’opérations en conflit.
Option de masque neutre (--neutral-umask)
Utilisez un umask neutre.
Définit le umask à 0000 afin que les modes du dépôt soient créés de manière cohérente. Le mode par défaut du répertoire est 0750 et le mode par défaut du fichier est 0640.
Pour utiliser le umask de l’utilisateur en cours, spécifiez neutral-umask=n dans le fichier de configuration ou --no-neutral-umask en ligne de commande.
Définir l’option de priorité du processus (--priority)
Définir la priorité du processus.
Définit la priorité (c’est-à-dire la valeur de niceness) accordée au processus par l’ordonnanceur du noyau. Les valeurs positives réduisent la priorité, tandis que les valeurs négatives l’augmentent. Dans la plupart des cas, les processus ne disposent pas des autorisations nécessaires pour augmenter leur priorité.
Option délai d’attente du protocole (--protocol-timeout)
Délai d’attente du protocole.
Définit le délai d’attente, en secondes, durant lequel le processus local ou distant attend qu’un nouveau message soit reçu au niveau du protocole. Cela empêche les processus de rester bloqués indéfiniment en attente d’un message.
NOTE : L’option
protocol-timeoutdoit être supérieure à l’optiondb-timeout.
Option Keep Alive (--sck-keep-alive)
Activation du keep-alive.
Active les messages keep-alive sur les connexions socket.
Option stanza (--stanza)
Définit la stanza.
Une stanza est la configuration d’un cluster de base de données PostgreSQL qui définit son emplacement, la manière dont il sera sauvegardé, les options d’archivage, etc. La plupart des serveurs de base de données n’ont qu’un seul cluster PostgreSQL et donc une seule stanza, tandis que les serveurs de sauvegarde ont une stanza pour chaque cluster de base de données à sauvegarder.
Il est tentant de nommer la stanza en fonction du cluster principal, mais un nom plus pertinent décrit les bases de données contenues dans le cluster. Étant donné que le nom de la stanza sera utilisé pour le principal et toutes les répliques, il est préférable de choisir un nom qui décrit la fonction réelle du cluster, par exemple app ou dw, plutôt que le nom local du cluster, comme main ou prod.
Option de nombre de connexions Keep Alive (--tcp-keep-alive-count)
Nombre de maintien de connexion.
Spécifie le nombre de messages TCP keep-alive pouvant être perdus avant que la connexion ne soit considérée comme inactive.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPCNT.
Option d’idle Keep Alive (--tcp-keep-alive-idle)
Délai d’inactivité pour la maintien de la connexion.
Spécifie la durée (en secondes) pendant laquelle aucune activité réseau ne se produit, après laquelle le système d’exploitation doit envoyer un message de maintien de connexion TCP.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPIDLE.
Option Intervalle Keep Alive (--tcp-keep-alive-interval)
Intervalle de temps pour la maintien de la connexion active.
Spécifie la durée (en secondes) après laquelle un message TCP keep-alive non reconnu doit être renvoyé.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPINTVL.
Suites de chiffrement TLSv1.2 Option (--tls-cipher-12)
Suites de chiffrement TLSv1.2 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. L’exemple proposé constitue un choix raisonnable sauf si des exigences de sécurité spécifiques s’appliquent. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Suites de chiffrement TLSv1.3 Option (--tls-cipher-13)
Suites de chiffrement TLSv1.3 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Options de journalisation
Niveau de journalisation de la console (--log-level-console)
Niveau de journalisation pour la console.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation du fichier (--log-level-file)
Niveau de journalisation des fichiers.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation des erreurs standard (--log-level-stderr)
Niveau de journalisation pour stderr.
Spécifie les niveaux de journalisation qui seront envoyés vers stderr plutôt que vers stdout (spécifié par log-level-console). L’horodatage et le processus ne seront pas envoyés vers stderr.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Option Chemin Journal (--log-path)
Chemin où les fichiers de journalisation sont stockés.
Le chemin de journalisation fournit un emplacement où pgBackRest peut stocker les fichiers de journalisation. Notez que si log-level-file=off, aucun chemin de journalisation n’est requis.
Option de journalisation des sous-processus (--log-subprocess)
Activer la journalisation dans les sous-processus.
Activez la journalisation des fichiers pour tout sous-processus créé par ce processus, en utilisant le niveau de journalisation spécifié par log-level-file.
Option de timestamp de journal (--log-timestamp)
Activer les horodatages dans la journalisation.
Active l’horodatage dans la journalisation console et fichier. Cette option est désactivée dans des situations spéciales, telles que la génération de documentation.
Options du mainteneur
Option de version PostgreSQL obligatoire (--pg-version-force)
Forcer la version de PostgreSQL.
La version de PostgreSQL spécifiée sera utilisée à la place de la version détectée automatiquement en lisant pg_control ou les en-têtes WAL. Cela est principalement utile pour les forks de PostgreSQL ou les versions de développement où ces valeurs diffèrent de la version de publication. La version rapportée par PostgreSQL via server_version_num doit correspondre à la version forcée.
AVERTISSEMENT :
Faites preuve de prudence en utilisant cette option, car pg_control et les en-têtes WAL seront toujours lus selon le format attendu pour la version spécifiée, c’est-à-dire le format issu de la version open-source officielle de PostgreSQL. Si la version fork ou développée modifie le format des champs sur lesquels pgBackRest dépend, cela entraînera un comportement imprévu. En général, cette option ne fonctionnera correctement que si le fork ajoute tous les membres de structure personnalisés après les membres standard de PostgreSQL.
Options du dépôt
Définir l’option dépôt (--repo)
Définir le dépôt.
Spécifiez le dépôt sur lequel une commande doit s’opérer.
Par exemple, cette option peut être utilisée pour effectuer une restauration à partir d’un dépôt spécifique, plutôt que de laisser pgBackRest choisir.
Option de conteneur de dépôt Azure (--repo-azure-container)
Conteneur de dépôt Azure.
Conteneur Azure utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés dans la racine du conteneur en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par Azure dans le conteneur.
Type de clé du dépôt Azure (--repo-azure-key-type)
Type de clé du dépôt Azure.
Les types suivants sont pris en charge pour l’autorisation :
shared- Clé partagéesas- Signature d’accès partagéauto- Autorisation automatique à l’aide d’identités managées Azure
Option de style d’URI de dépôt Azure (--repo-azure-uri-style)
Style URI Azure.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôteaccount.endpoint.path- Se connecter à l’hôteendpointet préfixer le compte aux URI.
Type de chiffrement du dépôt (--repo-cipher-type)
Chiffrement 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 longueur de clé de 256 bits
Notez que le chiffrement est toujours effectué côté client, même si le type de dépôt (par exemple S3) prend en charge le chiffrement.
Option de bac de dépôt GCS (--repo-gcs-bucket)
Dépôt de bucket GCS.
Dépôt GCS utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par GCS dans le bucket.
Option de point de terminaison du dépôt GCS (--repo-gcs-endpoint)
Point de terminaison du dépôt GCS.
Point d’accès utilisé pour se connecter au service de stockage. Peut être mis à jour pour utiliser un serveur local GCS ou un point d’accès alternatif.
Type de clé du dépôt GCS (--repo-gcs-key-type)
Type de clé du dépôt GCS.
Les types suivants sont pris en charge pour l’autorisation :
auto- Autoriser à l’aide du compte de service de l’instance.service- Compte de service à partir d’une clé stockée localement.token- À utiliser pour les tests locaux, par exemplefakegcs.
Lorsque repo-gcs-key-type=service, les identifiants seront rechargés lorsque le jeton d’authentification sera renouvelé.
Option ID du projet du dépôt GCS (--repo-gcs-user-project)
Identifiant du projet GCS.
ID du projet GCS utilisé pour déterminer la facturation des requêtes.
Option hôte du dépôt (--repo-host)
Hôte du dépôt lors de l’opération à distance.
Lors de la sauvegarde et de l’archivage vers un système de fichiers monté localement, ce paramètre n’est pas requis.
Nom obsolète : backup-host
Option du fichier de l’autorité de certification hôte du dépôt (--repo-host-ca-file)
Fichier de l’autorité de certification du serveur de dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour vous connecter à l’hôte du dépôt.
Option Chemin de l’autorité de certification du dépôt (--repo-host-ca-path)
Chemin de l’autorité de certification du serveur de dépôt.
Utilisez un chemin de certificat d’autorité (CA) autre que celui par défaut du système pour établir la connexion avec l’hôte du dépôt.
Option de fichier de certificat d’hôte du dépôt (--repo-host-cert-file)
Fichier de certificat d’hôte du dépôt.
Envoyé à l’hôte du dépôt pour prouver l’identité du client.
Option de commande hôte du dépôt (--repo-host-cmd)
Hôte du dépôt commande pgBackRest.
Requis uniquement si le chemin vers la commande pgBackRest est différent sur les hôtes local et de dépôt. Si non défini, la commande de dépôt sera définie de la même manière que celle de l’hôte local.
Nom obsolète : backup-cmd
Option de configuration de l’hôte du dépôt (--repo-host-config)
Fichier de configuration du serveur de dépôt pgBackRest.
Spécifie l’emplacement du fichier de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le fichier de configuration de l’hôte du dépôt se trouve dans un emplacement différent du fichier de configuration local.
Nom obsolète : sauvegarde-config
Option de chemin d’inclusion de configuration d’hôte de dépôt (--repo-host-config-include-path)
Configuration du serveur de dépôt pgBackRest incluant le chemin.
Définit l’emplacement du chemin d’inclusion de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin d’inclusion de configuration de l’hôte du dépôt est différent du chemin d’inclusion de configuration local.
Chemin de configuration de l’hôte du dépôt (--repo-host-config-path)
Chemin de configuration du serveur de dépôt pgBackRest.
Définit l’emplacement du chemin de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin de configuration de l’hôte du dépôt est différent du chemin de configuration local.
Option de fichier de clé hôte du dépôt (--repo-host-key-file)
Fichier de clé hôte du dépôt.
Vérifie que le certificat client a été envoyé par le propriétaire.
Option de port 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 du serveur du dépôt.
NOTE : Lorsque
repo-host-type=ssh, il n’existe pas de valeur par défaut pourrepo-host-port. Dans ce cas, le port sera celui configuré pour la commande spécifiée parcmd-ssh.
Nom obsolète : backup-ssh-port
Type de protocole d’hôte de dépôt (--repo-host-type)
Type de protocole d’hôte de dépôt.
Les types de protocole suivants sont pris en charge :
ssh- Shell sécurisé.tls- Serveur TLS pgBackRest.
Option d’utilisateur hôte de dépôt (--repo-host-user)
Utilisateur hôte du dépôt lorsque repo-host est défini.
Définit l’utilisateur utilisé pour les opérations sur l’hôte du dépôt. Il est préférable que ce ne soit pas l’utilisateur postgres, mais plutôt un autre utilisateur tel que pgbackrest. Si PostgreSQL s’exécute sur l’hôte du dépôt, l’utilisateur postgres peut être ajouté au groupe pgbackrest afin d’avoir des permissions de lecture sur le dépôt sans pouvoir accidentellement le modifier.
Nom obsolète : backup-user
Option Chemin du dépôt (--repo-path)
Chemin où les sauvegardes et l’archive sont stockées.
Le dépôt est l’emplacement où pgBackRest stocke les sauvegardes et les archives des segments WAL.
Il peut être difficile de prévoir à l’avance l’espace nécessaire. La meilleure approche consiste à effectuer quelques sauvegardes, puis à noter la taille des différents types de sauvegardes (pleines, incrémentielles, différentielles) et à mesurer la quantité de WAL générée par jour. Cela vous donnera une idée générale de l’espace requis, bien que les besoins évoluent probablement au fil du temps avec l’évolution de votre base de données.
Option de bac de dépôt S3 (--repo-s3-bucket)
Dépôt S3.
Dépôt S3 utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par AWS dans le bucket.
Option de point de terminaison du dépôt S3 (--repo-s3-endpoint)
Point de terminaison du dépôt S3.
Le point de terminaison AWS doit être valide pour la région sélectionnée.
Pour les configurations personnalisées ou les tests, les options repo-storage-ca-file, repo-storage-ca-path, repo-storage-host, repo-storage-port, et repo-storage-verify-tls peuvent être utiles.
Type de clé du dépôt S3 (--repo-s3-key-type)
Type de clé pour le dépôt S3.
Les types suivants sont pris en charge :
shared- Clés partagéesauto- Récupérer automatiquement les identifiants temporairesweb-id- Récupérer automatiquement les identifiants d’identité webpod-id- Récupérer automatiquement les identifiants d’identité de pod EKSprocess- Récupérer les identifiants en exécutant un processus
Option ID de clé KMS pour dépôt S3 (--repo-s3-kms-key-id)
Clé KMS du dépôt S3.
Active le chiffrement côté serveur S3 en utilisant la clé du service de gestion des clés AWS spécifiée.
Option de commande du processus d’authentification S3 (--repo-s3-process-cmd)
Commande du processus d’authentification S3.
Commande (et arguments facultatifs) à exécuter pour récupérer les identifiants temporaires S3. Le premier élément de la liste est la commande, les éléments suivants sont passés en tant que paramètres.
Le processus doit produire un JSON contenant les champs AccessKeyId, SecretAccessKey, SessionToken et Expiration. Les identifiants seront automatiquement actualisés avant l’expiration. Voir Process Credential Provider
pour les détails du format.
Option de région du dépôt S3 (--repo-s3-region)
Région du dépôt S3.
La région AWS où le bucket a été créé.
Option Requesteur Payant pour le dépôt S3 (--repo-s3-requester-pays)
Dépôt S3 payeur de la demande.
Active le paiement par le demandeur S3.
Option de rôle du dépôt S3 (--repo-s3-role)
Rôle du dépôt S3.
Le nom du rôle AWS (pas le nom ARN complet) utilisé pour récupérer les identifiants temporaires lorsque repo-s3-key-type=auto.
Option de service de dépôt S3 (--repo-s3-service)
Service de signature S3.
Le service de signature S3 utilisé dans l’authentification SigV4. La valeur par défaut est s3 pour les points d’accès S3 standards. À définir sur s3-outposts lors de l’utilisation d’un point d’accès S3 Outposts.
Option de point de terminaison STS du dépôt S3 (--repo-s3-sts-host)
Point de terminaison STS du dépôt S3.
Point de terminaison STS utilisé pour récupérer des identifiants temporaires lorsque repo-s3-key-type=web-id est configuré. Définissez-le sur un point de terminaison régional (par exemple sts.us-east-1.amazonaws.com) pour utiliser STS régional, ce qui peut être nécessaire pour les régions GovCloud, Chine, ou pour réduire la latence.
Option de style d’URI de dépôt S3 (--repo-s3-uri-style)
Style d’URI S3.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôtebucket.endpoint.path- Se connecter à l’hôteendpointet préfixer les URI par le répertoire.
Option hôte du dépôt SFTP (--repo-sftp-host)
Hôte du dépôt SFTP.
Hôte SFTP contenant le dépôt.
Fingerprint de l’hôte du dépôt SFTP (--repo-sftp-host-fingerprint)
Empreinte du serveur hôte du dépôt SFTP.
La génération de l’empreinte d’hôte du dépôt SFTP doit correspondre à repo-sftp-host-key-hash-type. Générez l’empreinte via awk '{print $2}' ssh_host_xxx_key.pub | base64 -d | (md5sum or sha1sum) -b. Les clés d’hôte SSH se trouvent normalement dans le répertoire /etc/ssh.
Type d’option de vérification de la clé hôte SFTP (--repo-sftp-host-key-check-type)
Type de vérification de la clé hôte SFTP.
Les types de vérification de clé d’hôte SFTP suivants sont pris en charge :
strict- pgBackRest n’ajoutera jamais automatiquement les clés d’hôte au fichier ~/.ssh/known_hosts, et refusera de se connecter aux hôtes dont la clé d’hôte a changé ou n’est pas trouvée dans les fichiers known hosts. Cette option oblige l’utilisateur à ajouter manuellement tous les nouveaux hôtes.accept-new- pgBackRest ajoutera automatiquement les nouvelles clés d’hôte au fichier known hosts de l’utilisateur, mais n’autorisera pas les connexions aux hôtes dont la clé d’hôte a changé.fingerprint- pgBackRest vérifiera la clé d’hôte contre l’empreinte spécifiée par l’optionrepo-sftp-host-fingerprint.none- aucune vérification de clé d’hôte ne sera effectuée.
Type de hachage de la clé hôte du dépôt SFTP (--repo-sftp-host-key-hash-type)
Type de hachage de la clé d’hôte du dépôt SFTP.
Type de hachage de la clé hôte du dépôt SFTP. Déclare le type de hachage à utiliser pour calculer le hachage de la clé hôte du système distant au démarrage SSH. Les versions plus récentes de libssh2 prennent en charge sha256 en plus de md5 et sha1.
Option de port hôte du dépôt SFTP (--repo-sftp-host-port)
Port hôte du dépôt SFTP.
Port hôte du dépôt SFTP.
Option utilisateur hôte dépôt SFTP (--repo-sftp-host-user)
Utilisateur hôte du dépôt SFTP.
Utilisateur sur l’hôte utilisé pour stocker le dépôt.
Option fichier Hôtes SFTP connus (--repo-sftp-known-host)
Fichier d’hôtes SFTP connus.
Fichier known hosts à consulter pour rechercher une correspondance avec un hôte SFTP lors de l’authentification. Si non spécifié, pgBackRest recherchera par défaut dans ~/.ssh/known_hosts, ~/.ssh/known_hosts2, /etc/ssh/ssh_known_hosts et /etc/ssh/ssh_known_hosts2. Si configuré avec un ou plusieurs chemins de fichier, pgBackRest recherchera dans ces fichiers une correspondance. Les chemins de fichier doivent être complets ou commencer par un tilde. L’option repo-sftp-known-host peut être spécifiée plusieurs fois pour indiquer plusieurs fichiers known hosts à consulter. Pour utiliser la vérification du fichier known hosts, l’option repo-sftp-host-fingerprint ne doit pas être définie. Voir également l’option repo-sftp-host-check-type.
Option fichier de clé privée du dépôt SFTP (--repo-sftp-private-key-file)
Fichier de clé privée SFTP.
Fichier de clé privée SFTP utilisé pour l’authentification.
Option de fichier de clé publique du dépôt SFTP (--repo-sftp-public-key-file)
Fichier de clé publique SFTP.
Fichier de clé publique SFTP utilisé pour l’authentification. Facultatif si compilé contre OpenSSL, obligatoire si compilé contre une autre bibliothèque.
Option du fichier CA du dépôt de stockage (--repo-storage-ca-file)
Fichier de certificat d’autorité de certification pour le dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-file, repo-s3-ca-file
Option de chemin du certificat CA TLS pour le dépôt (--repo-storage-ca-path)
Chemin du certificat d’autorité de certification du dépôt.
Utilisez un chemin de certificat d’autorité de certification (CA) autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-path, repo-s3-ca-path
Option hôte de stockage du dépôt (--repo-storage-host)
Hôte de stockage du dépôt.
Se connecter à un hôte autre que le point de terminaison de stockage (par exemple S3, Azure). Cela est généralement utilisé pour les tests.
Noms obsolètes : repo-azure-host, repo-s3-host
Option de port du stockage du dépôt (--repo-storage-port)
Port du stockage du dépôt.
Port à utiliser lors de la connexion au point de terminaison du stockage (par exemple S3, Azure) ou à l’hôte (le cas échéant).
Noms obsolètes : repo-azure-port, repo-s3-port
Option d’étiquette de stockage du dépôt (--repo-storage-tag)
Étiquette(s) de stockage du dépôt.
Spécifiez les balises à ajouter aux objets lorsque le dépôt est un magasin d’objets (par exemple, S3). L’option peut être répétée pour ajouter plusieurs balises.
Il n’existe aucune fonctionnalité dans pgBackRest permettant de modifier ces balises ; veillez donc à les définir correctement avant d’exécuter stanza-create afin d’assurer une cohérence des balises dans l’ensemble du dépôt.
Option de taille de morceau de chargement du dépôt (--repo-storage-upload-chunk-size)
Taille du morceau de chargement du dépôt.
Les magasins d’objets tels que S3 permettent de télécharger des fichiers par morceaux lorsque le fichier est trop volumineux pour être stocké en mémoire. Même si le fichier peut être stocké en mémoire, il est plus efficace en mémoire de limiter la quantité de mémoire utilisée pour les téléchargements.
Une taille de morceau plus élevée entraîne généralement de meilleures performances, car elle réduit le nombre de requêtes de téléchargement et permet de télécharger plus de fichiers en une seule requête plutôt qu’en morceaux. Le désavantage est que la consommation mémoire sera plus élevée, et comme la mémoire tampon de morceau doit être allouée par processus, des valeurs plus élevées de process-max entraînent une consommation mémoire globale plus importante.
Notez que les tailles de morceau valides varient selon le type de stockage et la plateforme. Par exemple, AWS S3 impose une taille minimale de morceau de 5MiB. La terminologie relative à la taille du morceau varie selon le type de stockage ; utilisez donc « part size » pour AWS S3, « chunk size » pour GCS et « block size » pour Azure lorsque vous recherchez les valeurs minimales ou maximales.
Si un fichier est plus grand que 1GiB (la taille maximale que PostgreSQL crée par défaut), la taille de tranche sera augmentée progressivement jusqu’à la valeur maximale autorisée afin de terminer le téléchargement du fichier.
Option de vérification du certificat de stockage du dépôt (--repo-storage-verify-tls)
Vérification du certificat du dépôt de stockage.
Cette option permet d’activer/désactiver la vérification du certificat TLS du serveur de stockage (par exemple, S3, Azure). La désactivation ne doit être utilisée que pour des tests ou d’autres scénarios où un certificat a été auto-signé.
Noms obsolètes : repo-azure-verify-tls, repo-s3-verify-ssl, repo-s3-verify-tls
Option de type de dépôt (--repo-type)
Type de stockage utilisé pour le dépôt.
Les types de dépôt suivants sont pris en charge :
azure- Service de stockage Blob Azurecifs- Commeposix, mais désactive les liens et les fsyncs de répertoiregcs- Google Cloud Storageposix- Systèmes de fichiers conformes à Posixs3- AWS Simple Storage Servicesftp- Protocole de transfert de fichiers sécurisé
Lorsqu’un montage NFS est utilisé comme dépôt posix, les mêmes règles s’appliquent à pgBackRest qu’indiquées dans la documentation PostgreSQL : Création d’un cluster de base de données - Systèmes de fichiers
.
Options de stanza
Option base de données PostgreSQL (--pg-database)
Base de données PostgreSQL.
Le nom de la base de données utilisé lors de la connexion à PostgreSQL. La valeur par défaut est généralement la meilleure option, mais certaines installations peuvent ne pas contenir cette base de données.
Notez que, pour des raisons historiques, le paramétrage de la variable d’environnement PGDATABASE sera ignoré.
Option Hôte PostgreSQL (--pg-host)
Hôte PostgreSQL pour une opération à distance.
Utilisé pour les sauvegardes où l’hôte PostgreSQL est différent de l’hôte du dépôt.
Nom obsolète : db-host
Option Fichier de l’Autorité de certification du serveur PostgreSQL (--pg-host-ca-file)
Fichier de l’autorité de certification du serveur PostgreSQL.
Utilisez un fichier CA autre que celui par défaut du système pour vous connecter à l’hôte PostgreSQL.
Option Chemin de l’Autorité de certification du serveur PostgreSQL (--pg-host-ca-path)
Chemin de l’autorité de certification du serveur PostgreSQL.
Utilisez un chemin de certificat d’autorité de certification (CA) autre que celui par défaut du système pour établir la connexion avec l’hôte PostgreSQL.
Option Fichier de certificat d’hôte PostgreSQL (--pg-host-cert-file)
Fichier de certificat d’hôte PostgreSQL.
Envoyé à l’hôte PostgreSQL pour prouver l’identité du client.
Option de commande hôte PostgreSQL (--pg-host-cmd)
Hôte PostgreSQL : commande pgBackRest.
Requis uniquement si le chemin vers la commande pgBackRest est différent sur les hôtes locaux et PostgreSQL. Si ce n’est pas défini, la commande sur l’hôte PostgreSQL sera définie de la même manière que celle sur l’hôte local.
Nom obsolète : db-cmd
Option de configuration hôte PostgreSQL (--pg-host-config)
Fichier de configuration du serveur de base de données pgBackRest.
Spécifie l’emplacement du fichier de configuration sur l’hôte PostgreSQL. Cette option est nécessaire uniquement si le fichier de configuration PostgreSQL est situé à un emplacement différent du fichier de configuration local.
Nom obsolète : db-config
Chemin d’inclusion de la configuration hôte PostgreSQL (--pg-host-config-include-path)
Configuration de l’hôte de base de données pgBackRest incluant le chemin.
Définit l’emplacement du chemin d’inclusion de configuration sur l’hôte PostgreSQL. Cette option est nécessaire uniquement si le chemin d’inclusion de configuration PostgreSQL se trouve dans un emplacement différent du chemin d’inclusion de configuration local.
Option de chemin de configuration de l’hôte PostgreSQL (--pg-host-config-path)
Chemin de configuration de l’hôte de base de données pgBackRest.
Définit l’emplacement du chemin de configuration sur l’hôte PostgreSQL. Cette option est nécessaire uniquement si le chemin de configuration PostgreSQL se trouve dans un emplacement différent du chemin de configuration local.
Option fichier clé hôte PostgreSQL (--pg-host-key-file)
Fichier de clé hôte PostgreSQL.
Vérifie que le certificat client a été envoyé par le propriétaire.
Option Port hôte PostgreSQL (--pg-host-port)
Port de l’hôte PostgreSQL lorsque pg-host est défini.
Utilisez cette option pour spécifier un port non par défaut pour le protocole d’hôte PostgreSQL.
NOTE : Lorsque
pg-host-type=ssh, il n’existe pas de valeur par défaut pourpg-host-port. Dans ce cas, le port sera celui configuré pour la commande spécifiée parcmd-ssh.
Nom obsolète : db-ssh-port
Type de protocole d’hôte PostgreSQL (--pg-host-type)
Type de protocole hôte PostgreSQL.
Les types de protocole suivants sont pris en charge :
ssh- Shell sécurisé.tls- Serveur TLS pgBackRest.
Option utilisateur hôte PostgreSQL (--pg-host-user)
Utilisateur de connexion au serveur PostgreSQL lorsqu’pg-host est défini.
Cet utilisateur possédera également le processus pgBackRest distant et initiera les connexions à PostgreSQL. Pour que cela fonctionne correctement, l’utilisateur doit être le propriétaire du cluster de base de données PostgreSQL, ce qui correspond généralement à postgres, la valeur par défaut.
Nom obsolète : db-user
Option Chemin PostgreSQL (--pg-path)
Répertoire de données PostgreSQL.
Il doit être identique à la valeur data_directory rapportée par PostgreSQL. Même si cette valeur peut être lue à divers endroits, il est prudent de la définir afin de garantir sa disponibilité en cas de restauration ou de sauvegarde hors ligne.
L’option pg-path est vérifiée par rapport à la valeur rapportée par PostgreSQL à chaque sauvegarde en ligne, elle doit donc toujours être à jour.
Nom obsolète : db-path
Option de port PostgreSQL (--pg-port)
Port PostgreSQL.
Port sur lequel PostgreSQL est en cours d’exécution. Ce paramètre n’a généralement pas besoin d’être spécifié, car la plupart des clusters PostgreSQL s’exécutent sur le port par défaut.
Nom obsolète : db-port
Option Chemin du socket PostgreSQL (--pg-socket-path)
Chemin du socket Unix de PostgreSQL.
Répertoire du socket Unix spécifié lors du démarrage de PostgreSQL. pgBackRest recherche automatiquement dans l’emplacement standard de votre système d’exploitation, aussi il est généralement inutile de préciser ce paramètre, sauf si le répertoire du socket a été explicitement modifié à l’aide du paramètre unix_socket_directories dans postgresql.conf.
Nom obsolète : db-socket-path
Option utilisateur de base de données PostgreSQL (--pg-user)
Utilisateur de base de données PostgreSQL.
Le nom d’utilisateur de la base de données utilisé lors de la connexion à PostgreSQL. Si non spécifié, pgBackRest se connectera avec l’utilisateur système local ou PGUSER.
4.16 - Commande de mise à jour de stanza (stanza-upgrade)
stanza-upgrade.Immédiatement après la mise à niveau de PostgreSQL vers une nouvelle version majeure, le pg-path de toutes les configurations pgBackRest doit être défini sur le nouveau emplacement de la base de données, puis la commande stanza-upgrade doit être exécutée. Si plusieurs dépôts sont configurés sur l’hôte, le stanza sera mis à niveau sur chacun. Si la base de données est hors ligne, utilisez l’option --no-online.
Options de commande
Option en ligne (--online)
Mettre à jour un cluster en ligne.
Spécifier –no-online empêche pgBackRest de se connecter à PostgreSQL lors de la mise à jour de la stanza.
Options générales
Autoriser l’exécution en tant qu’utilisateur root (--allow-root)
Permettre à la commande de s’exécuter en tant qu’utilisateur root.
Par défaut, seul la commande restore peut être exécutée en tant qu’utilisateur root, car elle est conçue pour gérer soigneusement les propriétés des fichiers. Exécuter d’autres commandes en tant que root risque de créer des fichiers (par exemple dans le dépôt) dont le propriétaire est root, rendant ces fichiers inaccessibles à l’utilisateur PostgreSQL, ce qui entraîne l’échec des commandes ultérieures.
Activez cette option pour exécuter une commande en tant qu’utilisateur root malgré tout. Toutefois, il est bien préférable d’exécuter pgBackRest en tant qu’utilisateur propriétaire du dépôt et du cluster PostgreSQL.
Option Taille tampon (--buffer-size)
Taille du tampon pour les opérations d’E/S.
Taille de tampon utilisée pour les opérations de copie, de compression, de chiffrement et autres. Le nombre de tampons utilisés dépend des options, et chaque opération peut utiliser une mémoire supplémentaire, par exemple, la compression gz peut utiliser jusqu’à 256KiB de mémoire supplémentaire.
Les valeurs autorisées sont 16KiB, 32KiB, 64KiB, 128KiB, 256KiB, 512KiB, 1MiB, 2MiB, 4MiB, 8MiB et 16MiB.
Option de commande client SSH (--cmd-ssh)
Commande cliente SSH.
Utilisez une commande cliente SSH spécifique lorsque vous souhaitez utiliser une alternative ou que la commande ssh n’est pas disponible dans $PATH.
Option niveau de compression réseau (--compress-level-network)
Niveau de compression du réseau.
Définit le niveau de compression réseau lorsque compress-type=none et la commande ne sont pas exécutées sur le même hôte que le dépôt. La compression est utilisée pour réduire le trafic réseau. Lorsque compress-type est différent de none, le paramètre compress-level-network est ignoré et compress-level est utilisé à la place, afin que le fichier ne soit compressé qu’une seule fois.
Option de configuration (--config)
Fichier de configuration pgBackRest.
Utilisez cette option pour spécifier un fichier de configuration différent du fichier par défaut.
Option Chemin d’inclusion de configuration (--config-include-path)
Chemin vers les fichiers de configuration supplémentaires de pgBackRest.
Les fichiers de configuration se trouvant dans l’emplacement spécifié et ayant l’extension .conf seront concaténés au fichier de configuration de pgBackRest, ce qui donne un seul fichier de configuration.
Option de chemin de configuration (--config-path)
Chemin de base des fichiers de configuration de pgBackRest.
Ce paramètre est utilisé pour remplacer le chemin de base par défaut pour les options --config et --config-include-path, sauf si ces dernières sont explicitement définies en ligne de commande.
Par exemple, passer uniquement --config-path=/conf/pgbackrest fait que la valeur par défaut de --config est définie à /conf/pgbackrest/pgbackrest.conf et que la valeur par défaut de --config-include-path est définie à /conf/pgbackrest/conf.d.
Option de délai d’attente de la base de données (--db-timeout)
Délai d’attente dépassé pour la requête de base de données.
Définit le délai d’attente, en secondes, des requêtes effectuées contre la base de données. Cela inclut les fonctions de démarrage et d’arrêt de la sauvegarde, qui peuvent chacune prendre beaucoup de temps. En raison de cela, le délai d’attente doit être maintenu élevé, sauf si vous savez que ces fonctions retourneront rapidement (par exemple, si vous avez défini start-fast=y et que vous savez que le cluster de base de données ne générera pas beaucoup de segments WAL pendant la sauvegarde).
NOTE : L’option
db-timeoutdoit être inférieure à l’optionprotocol-timeout.
Option d’expiration I/O (--io-timeout)
Délai d’attente d’E/S dépassé.
Délai d’attente, en secondes, utilisé pour les connexions et les opérations de lecture/écriture.
Notez que l’opération de lecture/écriture entière n’a pas besoin de se terminer dans ce délai d’attente, mais une certaine progression doit être réalisée, même si elle ne concerne qu’un seul octet.
Option Chemin verrou (--lock-path)
Chemin où les fichiers verrou sont stockés.
Le chemin de verrouillage fournit un emplacement où pgBackRest peut créer des fichiers de verrouillage afin d’empêcher l’exécution simultanée d’opérations en conflit.
Option de masque neutre (--neutral-umask)
Utilisez un umask neutre.
Définit le umask à 0000 afin que les modes du dépôt soient créés de manière cohérente. Le mode par défaut du répertoire est 0750 et le mode par défaut du fichier est 0640.
Pour utiliser le umask de l’utilisateur en cours, spécifiez neutral-umask=n dans le fichier de configuration ou --no-neutral-umask en ligne de commande.
Définir l’option de priorité du processus (--priority)
Définir la priorité du processus.
Définit la priorité (c’est-à-dire la valeur de niceness) accordée au processus par l’ordonnanceur du noyau. Les valeurs positives réduisent la priorité, tandis que les valeurs négatives l’augmentent. Dans la plupart des cas, les processus ne disposent pas des autorisations nécessaires pour augmenter leur priorité.
Option délai d’attente du protocole (--protocol-timeout)
Délai d’attente du protocole.
Définit le délai d’attente, en secondes, durant lequel le processus local ou distant attend qu’un nouveau message soit reçu au niveau du protocole. Cela empêche les processus de rester bloqués indéfiniment en attente d’un message.
NOTE : L’option
protocol-timeoutdoit être supérieure à l’optiondb-timeout.
Option Keep Alive (--sck-keep-alive)
Activation du keep-alive.
Active les messages keep-alive sur les connexions socket.
Option stanza (--stanza)
Définit la stanza.
Une stanza est la configuration d’un cluster de base de données PostgreSQL qui définit son emplacement, la manière dont il sera sauvegardé, les options d’archivage, etc. La plupart des serveurs de base de données n’ont qu’un seul cluster PostgreSQL et donc une seule stanza, tandis que les serveurs de sauvegarde ont une stanza pour chaque cluster de base de données à sauvegarder.
Il est tentant de nommer la stanza en fonction du cluster principal, mais un nom plus pertinent décrit les bases de données contenues dans le cluster. Étant donné que le nom de la stanza sera utilisé pour le principal et toutes les répliques, il est préférable de choisir un nom qui décrit la fonction réelle du cluster, par exemple app ou dw, plutôt que le nom local du cluster, comme main ou prod.
Option de nombre de connexions Keep Alive (--tcp-keep-alive-count)
Nombre de maintien de connexion.
Spécifie le nombre de messages TCP keep-alive pouvant être perdus avant que la connexion ne soit considérée comme inactive.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPCNT.
Option d’idle Keep Alive (--tcp-keep-alive-idle)
Délai d’inactivité pour la maintien de la connexion.
Spécifie la durée (en secondes) pendant laquelle aucune activité réseau ne se produit, après laquelle le système d’exploitation doit envoyer un message de maintien de connexion TCP.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPIDLE.
Option Intervalle Keep Alive (--tcp-keep-alive-interval)
Intervalle de temps pour la maintien de la connexion active.
Spécifie la durée (en secondes) après laquelle un message TCP keep-alive non reconnu doit être renvoyé.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPINTVL.
Suites de chiffrement TLSv1.2 Option (--tls-cipher-12)
Suites de chiffrement TLSv1.2 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. L’exemple proposé constitue un choix raisonnable sauf si des exigences de sécurité spécifiques s’appliquent. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Suites de chiffrement TLSv1.3 Option (--tls-cipher-13)
Suites de chiffrement TLSv1.3 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Options de journalisation
Niveau de journalisation de la console (--log-level-console)
Niveau de journalisation pour la console.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation du fichier (--log-level-file)
Niveau de journalisation des fichiers.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation des erreurs standard (--log-level-stderr)
Niveau de journalisation pour stderr.
Spécifie les niveaux de journalisation qui seront envoyés vers stderr plutôt que vers stdout (spécifié par log-level-console). L’horodatage et le processus ne seront pas envoyés vers stderr.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Option Chemin Journal (--log-path)
Chemin où les fichiers de journalisation sont stockés.
Le chemin de journalisation fournit un emplacement où pgBackRest peut stocker les fichiers de journalisation. Notez que si log-level-file=off, aucun chemin de journalisation n’est requis.
Option de journalisation des sous-processus (--log-subprocess)
Activer la journalisation dans les sous-processus.
Activez la journalisation des fichiers pour tout sous-processus créé par ce processus, en utilisant le niveau de journalisation spécifié par log-level-file.
Option de timestamp de journal (--log-timestamp)
Activer les horodatages dans la journalisation.
Active l’horodatage dans la journalisation console et fichier. Cette option est désactivée dans des situations spéciales, telles que la génération de documentation.
Options du mainteneur
Option de version PostgreSQL obligatoire (--pg-version-force)
Forcer la version de PostgreSQL.
La version de PostgreSQL spécifiée sera utilisée à la place de la version détectée automatiquement en lisant pg_control ou les en-têtes WAL. Cela est principalement utile pour les forks de PostgreSQL ou les versions de développement où ces valeurs diffèrent de la version de publication. La version rapportée par PostgreSQL via server_version_num doit correspondre à la version forcée.
AVERTISSEMENT :
Faites preuve de prudence en utilisant cette option, car pg_control et les en-têtes WAL seront toujours lus selon le format attendu pour la version spécifiée, c’est-à-dire le format issu de la version open-source officielle de PostgreSQL. Si la version fork ou développée modifie le format des champs sur lesquels pgBackRest dépend, cela entraînera un comportement imprévu. En général, cette option ne fonctionnera correctement que si le fork ajoute tous les membres de structure personnalisés après les membres standard de PostgreSQL.
Options du dépôt
Option de conteneur de dépôt Azure (--repo-azure-container)
Conteneur de dépôt Azure.
Conteneur Azure utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés dans la racine du conteneur en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par Azure dans le conteneur.
Type de clé du dépôt Azure (--repo-azure-key-type)
Type de clé du dépôt Azure.
Les types suivants sont pris en charge pour l’autorisation :
shared- Clé partagéesas- Signature d’accès partagéauto- Autorisation automatique à l’aide d’identités managées Azure
Option de style d’URI de dépôt Azure (--repo-azure-uri-style)
Style URI Azure.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôteaccount.endpoint.path- Se connecter à l’hôteendpointet préfixer le compte aux URI.
Type de chiffrement du dépôt (--repo-cipher-type)
Chiffrement 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 longueur de clé de 256 bits
Notez que le chiffrement est toujours effectué côté client, même si le type de dépôt (par exemple S3) prend en charge le chiffrement.
Option de bac de dépôt GCS (--repo-gcs-bucket)
Dépôt de bucket GCS.
Dépôt GCS utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par GCS dans le bucket.
Option de point de terminaison du dépôt GCS (--repo-gcs-endpoint)
Point de terminaison du dépôt GCS.
Point d’accès utilisé pour se connecter au service de stockage. Peut être mis à jour pour utiliser un serveur local GCS ou un point d’accès alternatif.
Type de clé du dépôt GCS (--repo-gcs-key-type)
Type de clé du dépôt GCS.
Les types suivants sont pris en charge pour l’autorisation :
auto- Autoriser à l’aide du compte de service de l’instance.service- Compte de service à partir d’une clé stockée localement.token- À utiliser pour les tests locaux, par exemplefakegcs.
Lorsque repo-gcs-key-type=service, les identifiants seront rechargés lorsque le jeton d’authentification sera renouvelé.
Option ID du projet du dépôt GCS (--repo-gcs-user-project)
Identifiant du projet GCS.
ID du projet GCS utilisé pour déterminer la facturation des requêtes.
Option hôte du dépôt (--repo-host)
Hôte du dépôt lors de l’opération à distance.
Lors de la sauvegarde et de l’archivage vers un système de fichiers monté localement, ce paramètre n’est pas requis.
Nom obsolète : backup-host
Option du fichier de l’autorité de certification hôte du dépôt (--repo-host-ca-file)
Fichier de l’autorité de certification du serveur de dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour vous connecter à l’hôte du dépôt.
Option Chemin de l’autorité de certification du dépôt (--repo-host-ca-path)
Chemin de l’autorité de certification du serveur de dépôt.
Utilisez un chemin de certificat d’autorité (CA) autre que celui par défaut du système pour établir la connexion avec l’hôte du dépôt.
Option de fichier de certificat d’hôte du dépôt (--repo-host-cert-file)
Fichier de certificat d’hôte du dépôt.
Envoyé à l’hôte du dépôt pour prouver l’identité du client.
Option de commande hôte du dépôt (--repo-host-cmd)
Hôte du dépôt commande pgBackRest.
Requis uniquement si le chemin vers la commande pgBackRest est différent sur les hôtes local et de dépôt. Si non défini, la commande de dépôt sera définie de la même manière que celle de l’hôte local.
Nom obsolète : backup-cmd
Option de configuration de l’hôte du dépôt (--repo-host-config)
Fichier de configuration du serveur de dépôt pgBackRest.
Spécifie l’emplacement du fichier de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le fichier de configuration de l’hôte du dépôt se trouve dans un emplacement différent du fichier de configuration local.
Nom obsolète : sauvegarde-config
Option de chemin d’inclusion de configuration d’hôte de dépôt (--repo-host-config-include-path)
Configuration du serveur de dépôt pgBackRest incluant le chemin.
Définit l’emplacement du chemin d’inclusion de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin d’inclusion de configuration de l’hôte du dépôt est différent du chemin d’inclusion de configuration local.
Chemin de configuration de l’hôte du dépôt (--repo-host-config-path)
Chemin de configuration du serveur de dépôt pgBackRest.
Définit l’emplacement du chemin de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin de configuration de l’hôte du dépôt est différent du chemin de configuration local.
Option de fichier de clé hôte du dépôt (--repo-host-key-file)
Fichier de clé hôte du dépôt.
Vérifie que le certificat client a été envoyé par le propriétaire.
Option de port 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 du serveur du dépôt.
NOTE : Lorsque
repo-host-type=ssh, il n’existe pas de valeur par défaut pourrepo-host-port. Dans ce cas, le port sera celui configuré pour la commande spécifiée parcmd-ssh.
Nom obsolète : backup-ssh-port
Type de protocole d’hôte de dépôt (--repo-host-type)
Type de protocole d’hôte de dépôt.
Les types de protocole suivants sont pris en charge :
ssh- Shell sécurisé.tls- Serveur TLS pgBackRest.
Option d’utilisateur hôte de dépôt (--repo-host-user)
Utilisateur hôte du dépôt lorsque repo-host est défini.
Définit l’utilisateur utilisé pour les opérations sur l’hôte du dépôt. Il est préférable que ce ne soit pas l’utilisateur postgres, mais plutôt un autre utilisateur tel que pgbackrest. Si PostgreSQL s’exécute sur l’hôte du dépôt, l’utilisateur postgres peut être ajouté au groupe pgbackrest afin d’avoir des permissions de lecture sur le dépôt sans pouvoir accidentellement le modifier.
Nom obsolète : backup-user
Option Chemin du dépôt (--repo-path)
Chemin où les sauvegardes et l’archive sont stockées.
Le dépôt est l’emplacement où pgBackRest stocke les sauvegardes et les archives des segments WAL.
Il peut être difficile de prévoir à l’avance l’espace nécessaire. La meilleure approche consiste à effectuer quelques sauvegardes, puis à noter la taille des différents types de sauvegardes (pleines, incrémentielles, différentielles) et à mesurer la quantité de WAL générée par jour. Cela vous donnera une idée générale de l’espace requis, bien que les besoins évoluent probablement au fil du temps avec l’évolution de votre base de données.
Option de bac de dépôt S3 (--repo-s3-bucket)
Dépôt S3.
Dépôt S3 utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par AWS dans le bucket.
Option de point de terminaison du dépôt S3 (--repo-s3-endpoint)
Point de terminaison du dépôt S3.
Le point de terminaison AWS doit être valide pour la région sélectionnée.
Pour les configurations personnalisées ou les tests, les options repo-storage-ca-file, repo-storage-ca-path, repo-storage-host, repo-storage-port, et repo-storage-verify-tls peuvent être utiles.
Type de clé du dépôt S3 (--repo-s3-key-type)
Type de clé pour le dépôt S3.
Les types suivants sont pris en charge :
shared- Clés partagéesauto- Récupérer automatiquement les identifiants temporairesweb-id- Récupérer automatiquement les identifiants d’identité webpod-id- Récupérer automatiquement les identifiants d’identité de pod EKSprocess- Récupérer les identifiants en exécutant un processus
Option ID de clé KMS pour dépôt S3 (--repo-s3-kms-key-id)
Clé KMS du dépôt S3.
Active le chiffrement côté serveur S3 en utilisant la clé du service de gestion des clés AWS spécifiée.
Option de commande du processus d’authentification S3 (--repo-s3-process-cmd)
Commande du processus d’authentification S3.
Commande (et arguments facultatifs) à exécuter pour récupérer les identifiants temporaires S3. Le premier élément de la liste est la commande, les éléments suivants sont passés en tant que paramètres.
Le processus doit produire un JSON contenant les champs AccessKeyId, SecretAccessKey, SessionToken et Expiration. Les identifiants seront automatiquement actualisés avant l’expiration. Voir Process Credential Provider
pour les détails du format.
Option de région du dépôt S3 (--repo-s3-region)
Région du dépôt S3.
La région AWS où le bucket a été créé.
Option Requesteur Payant pour le dépôt S3 (--repo-s3-requester-pays)
Dépôt S3 payeur de la demande.
Active le paiement par le demandeur S3.
Option de rôle du dépôt S3 (--repo-s3-role)
Rôle du dépôt S3.
Le nom du rôle AWS (pas le nom ARN complet) utilisé pour récupérer les identifiants temporaires lorsque repo-s3-key-type=auto.
Option de service de dépôt S3 (--repo-s3-service)
Service de signature S3.
Le service de signature S3 utilisé dans l’authentification SigV4. La valeur par défaut est s3 pour les points d’accès S3 standards. À définir sur s3-outposts lors de l’utilisation d’un point d’accès S3 Outposts.
Option de point de terminaison STS du dépôt S3 (--repo-s3-sts-host)
Point de terminaison STS du dépôt S3.
Point de terminaison STS utilisé pour récupérer des identifiants temporaires lorsque repo-s3-key-type=web-id est configuré. Définissez-le sur un point de terminaison régional (par exemple sts.us-east-1.amazonaws.com) pour utiliser STS régional, ce qui peut être nécessaire pour les régions GovCloud, Chine, ou pour réduire la latence.
Option de style d’URI de dépôt S3 (--repo-s3-uri-style)
Style d’URI S3.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôtebucket.endpoint.path- Se connecter à l’hôteendpointet préfixer les URI par le répertoire.
Option hôte du dépôt SFTP (--repo-sftp-host)
Hôte du dépôt SFTP.
Hôte SFTP contenant le dépôt.
Fingerprint de l’hôte du dépôt SFTP (--repo-sftp-host-fingerprint)
Empreinte du serveur hôte du dépôt SFTP.
La génération de l’empreinte d’hôte du dépôt SFTP doit correspondre à repo-sftp-host-key-hash-type. Générez l’empreinte via awk '{print $2}' ssh_host_xxx_key.pub | base64 -d | (md5sum or sha1sum) -b. Les clés d’hôte SSH se trouvent normalement dans le répertoire /etc/ssh.
Type d’option de vérification de la clé hôte SFTP (--repo-sftp-host-key-check-type)
Type de vérification de la clé hôte SFTP.
Les types de vérification de clé d’hôte SFTP suivants sont pris en charge :
strict- pgBackRest n’ajoutera jamais automatiquement les clés d’hôte au fichier ~/.ssh/known_hosts, et refusera de se connecter aux hôtes dont la clé d’hôte a changé ou n’est pas trouvée dans les fichiers known hosts. Cette option oblige l’utilisateur à ajouter manuellement tous les nouveaux hôtes.accept-new- pgBackRest ajoutera automatiquement les nouvelles clés d’hôte au fichier known hosts de l’utilisateur, mais n’autorisera pas les connexions aux hôtes dont la clé d’hôte a changé.fingerprint- pgBackRest vérifiera la clé d’hôte contre l’empreinte spécifiée par l’optionrepo-sftp-host-fingerprint.none- aucune vérification de clé d’hôte ne sera effectuée.
Type de hachage de la clé hôte du dépôt SFTP (--repo-sftp-host-key-hash-type)
Type de hachage de la clé d’hôte du dépôt SFTP.
Type de hachage de la clé hôte du dépôt SFTP. Déclare le type de hachage à utiliser pour calculer le hachage de la clé hôte du système distant au démarrage SSH. Les versions plus récentes de libssh2 prennent en charge sha256 en plus de md5 et sha1.
Option de port hôte du dépôt SFTP (--repo-sftp-host-port)
Port hôte du dépôt SFTP.
Port hôte du dépôt SFTP.
Option utilisateur hôte dépôt SFTP (--repo-sftp-host-user)
Utilisateur hôte du dépôt SFTP.
Utilisateur sur l’hôte utilisé pour stocker le dépôt.
Option fichier Hôtes SFTP connus (--repo-sftp-known-host)
Fichier d’hôtes SFTP connus.
Fichier known hosts à consulter pour rechercher une correspondance avec un hôte SFTP lors de l’authentification. Si non spécifié, pgBackRest recherchera par défaut dans ~/.ssh/known_hosts, ~/.ssh/known_hosts2, /etc/ssh/ssh_known_hosts et /etc/ssh/ssh_known_hosts2. Si configuré avec un ou plusieurs chemins de fichier, pgBackRest recherchera dans ces fichiers une correspondance. Les chemins de fichier doivent être complets ou commencer par un tilde. L’option repo-sftp-known-host peut être spécifiée plusieurs fois pour indiquer plusieurs fichiers known hosts à consulter. Pour utiliser la vérification du fichier known hosts, l’option repo-sftp-host-fingerprint ne doit pas être définie. Voir également l’option repo-sftp-host-check-type.
Option fichier de clé privée du dépôt SFTP (--repo-sftp-private-key-file)
Fichier de clé privée SFTP.
Fichier de clé privée SFTP utilisé pour l’authentification.
Option de fichier de clé publique du dépôt SFTP (--repo-sftp-public-key-file)
Fichier de clé publique SFTP.
Fichier de clé publique SFTP utilisé pour l’authentification. Facultatif si compilé contre OpenSSL, obligatoire si compilé contre une autre bibliothèque.
Option du fichier CA du dépôt de stockage (--repo-storage-ca-file)
Fichier de certificat d’autorité de certification pour le dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-file, repo-s3-ca-file
Option de chemin du certificat CA TLS pour le dépôt (--repo-storage-ca-path)
Chemin du certificat d’autorité de certification du dépôt.
Utilisez un chemin de certificat d’autorité de certification (CA) autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-path, repo-s3-ca-path
Option hôte de stockage du dépôt (--repo-storage-host)
Hôte de stockage du dépôt.
Se connecter à un hôte autre que le point de terminaison de stockage (par exemple S3, Azure). Cela est généralement utilisé pour les tests.
Noms obsolètes : repo-azure-host, repo-s3-host
Option de port du stockage du dépôt (--repo-storage-port)
Port du stockage du dépôt.
Port à utiliser lors de la connexion au point de terminaison du stockage (par exemple S3, Azure) ou à l’hôte (le cas échéant).
Noms obsolètes : repo-azure-port, repo-s3-port
Option d’étiquette de stockage du dépôt (--repo-storage-tag)
Étiquette(s) de stockage du dépôt.
Spécifiez les balises à ajouter aux objets lorsque le dépôt est un magasin d’objets (par exemple, S3). L’option peut être répétée pour ajouter plusieurs balises.
Il n’existe aucune fonctionnalité dans pgBackRest permettant de modifier ces balises ; veillez donc à les définir correctement avant d’exécuter stanza-create afin d’assurer une cohérence des balises dans l’ensemble du dépôt.
Option de taille de morceau de chargement du dépôt (--repo-storage-upload-chunk-size)
Taille du morceau de chargement du dépôt.
Les magasins d’objets tels que S3 permettent de télécharger des fichiers par morceaux lorsque le fichier est trop volumineux pour être stocké en mémoire. Même si le fichier peut être stocké en mémoire, il est plus efficace en mémoire de limiter la quantité de mémoire utilisée pour les téléchargements.
Une taille de morceau plus élevée entraîne généralement de meilleures performances, car elle réduit le nombre de requêtes de téléchargement et permet de télécharger plus de fichiers en une seule requête plutôt qu’en morceaux. Le désavantage est que la consommation mémoire sera plus élevée, et comme la mémoire tampon de morceau doit être allouée par processus, des valeurs plus élevées de process-max entraînent une consommation mémoire globale plus importante.
Notez que les tailles de morceau valides varient selon le type de stockage et la plateforme. Par exemple, AWS S3 impose une taille minimale de morceau de 5MiB. La terminologie relative à la taille du morceau varie selon le type de stockage ; utilisez donc « part size » pour AWS S3, « chunk size » pour GCS et « block size » pour Azure lorsque vous recherchez les valeurs minimales ou maximales.
Si un fichier est plus grand que 1GiB (la taille maximale que PostgreSQL crée par défaut), la taille de tranche sera augmentée progressivement jusqu’à la valeur maximale autorisée afin de terminer le téléchargement du fichier.
Option de vérification du certificat de stockage du dépôt (--repo-storage-verify-tls)
Vérification du certificat du dépôt de stockage.
Cette option permet d’activer/désactiver la vérification du certificat TLS du serveur de stockage (par exemple, S3, Azure). La désactivation ne doit être utilisée que pour des tests ou d’autres scénarios où un certificat a été auto-signé.
Noms obsolètes : repo-azure-verify-tls, repo-s3-verify-ssl, repo-s3-verify-tls
Option de type de dépôt (--repo-type)
Type de stockage utilisé pour le dépôt.
Les types de dépôt suivants sont pris en charge :
azure- Service de stockage Blob Azurecifs- Commeposix, mais désactive les liens et les fsyncs de répertoiregcs- Google Cloud Storageposix- Systèmes de fichiers conformes à Posixs3- AWS Simple Storage Servicesftp- Protocole de transfert de fichiers sécurisé
Lorsqu’un montage NFS est utilisé comme dépôt posix, les mêmes règles s’appliquent à pgBackRest qu’indiquées dans la documentation PostgreSQL : Création d’un cluster de base de données - Systèmes de fichiers
.
Options de stanza
Option base de données PostgreSQL (--pg-database)
Base de données PostgreSQL.
Le nom de la base de données utilisé lors de la connexion à PostgreSQL. La valeur par défaut est généralement la meilleure option, mais certaines installations peuvent ne pas contenir cette base de données.
Notez que, pour des raisons historiques, le paramétrage de la variable d’environnement PGDATABASE sera ignoré.
Option Hôte PostgreSQL (--pg-host)
Hôte PostgreSQL pour une opération à distance.
Utilisé pour les sauvegardes où l’hôte PostgreSQL est différent de l’hôte du dépôt.
Nom obsolète : db-host
Option Fichier de l’Autorité de certification du serveur PostgreSQL (--pg-host-ca-file)
Fichier de l’autorité de certification du serveur PostgreSQL.
Utilisez un fichier CA autre que celui par défaut du système pour vous connecter à l’hôte PostgreSQL.
Option Chemin de l’Autorité de certification du serveur PostgreSQL (--pg-host-ca-path)
Chemin de l’autorité de certification du serveur PostgreSQL.
Utilisez un chemin de certificat d’autorité de certification (CA) autre que celui par défaut du système pour établir la connexion avec l’hôte PostgreSQL.
Option Fichier de certificat d’hôte PostgreSQL (--pg-host-cert-file)
Fichier de certificat d’hôte PostgreSQL.
Envoyé à l’hôte PostgreSQL pour prouver l’identité du client.
Option de commande hôte PostgreSQL (--pg-host-cmd)
Hôte PostgreSQL : commande pgBackRest.
Requis uniquement si le chemin vers la commande pgBackRest est différent sur les hôtes locaux et PostgreSQL. Si ce n’est pas défini, la commande sur l’hôte PostgreSQL sera définie de la même manière que celle sur l’hôte local.
Nom obsolète : db-cmd
Option de configuration hôte PostgreSQL (--pg-host-config)
Fichier de configuration du serveur de base de données pgBackRest.
Spécifie l’emplacement du fichier de configuration sur l’hôte PostgreSQL. Cette option est nécessaire uniquement si le fichier de configuration PostgreSQL est situé à un emplacement différent du fichier de configuration local.
Nom obsolète : db-config
Chemin d’inclusion de la configuration hôte PostgreSQL (--pg-host-config-include-path)
Configuration de l’hôte de base de données pgBackRest incluant le chemin.
Définit l’emplacement du chemin d’inclusion de configuration sur l’hôte PostgreSQL. Cette option est nécessaire uniquement si le chemin d’inclusion de configuration PostgreSQL se trouve dans un emplacement différent du chemin d’inclusion de configuration local.
Option de chemin de configuration de l’hôte PostgreSQL (--pg-host-config-path)
Chemin de configuration de l’hôte de base de données pgBackRest.
Définit l’emplacement du chemin de configuration sur l’hôte PostgreSQL. Cette option est nécessaire uniquement si le chemin de configuration PostgreSQL se trouve dans un emplacement différent du chemin de configuration local.
Option fichier clé hôte PostgreSQL (--pg-host-key-file)
Fichier de clé hôte PostgreSQL.
Vérifie que le certificat client a été envoyé par le propriétaire.
Option Port hôte PostgreSQL (--pg-host-port)
Port de l’hôte PostgreSQL lorsque pg-host est défini.
Utilisez cette option pour spécifier un port non par défaut pour le protocole d’hôte PostgreSQL.
NOTE : Lorsque
pg-host-type=ssh, il n’existe pas de valeur par défaut pourpg-host-port. Dans ce cas, le port sera celui configuré pour la commande spécifiée parcmd-ssh.
Nom obsolète : db-ssh-port
Type de protocole d’hôte PostgreSQL (--pg-host-type)
Type de protocole hôte PostgreSQL.
Les types de protocole suivants sont pris en charge :
ssh- Shell sécurisé.tls- Serveur TLS pgBackRest.
Option utilisateur hôte PostgreSQL (--pg-host-user)
Utilisateur de connexion au serveur PostgreSQL lorsqu’pg-host est défini.
Cet utilisateur possédera également le processus pgBackRest distant et initiera les connexions à PostgreSQL. Pour que cela fonctionne correctement, l’utilisateur doit être le propriétaire du cluster de base de données PostgreSQL, ce qui correspond généralement à postgres, la valeur par défaut.
Nom obsolète : db-user
Option Chemin PostgreSQL (--pg-path)
Répertoire de données PostgreSQL.
Il doit être identique à la valeur data_directory rapportée par PostgreSQL. Même si cette valeur peut être lue à divers endroits, il est prudent de la définir afin de garantir sa disponibilité en cas de restauration ou de sauvegarde hors ligne.
L’option pg-path est vérifiée par rapport à la valeur rapportée par PostgreSQL à chaque sauvegarde en ligne, elle doit donc toujours être à jour.
Nom obsolète : db-path
Option de port PostgreSQL (--pg-port)
Port PostgreSQL.
Port sur lequel PostgreSQL est en cours d’exécution. Ce paramètre n’a généralement pas besoin d’être spécifié, car la plupart des clusters PostgreSQL s’exécutent sur le port par défaut.
Nom obsolète : db-port
Option Chemin du socket PostgreSQL (--pg-socket-path)
Chemin du socket Unix de PostgreSQL.
Répertoire du socket Unix spécifié lors du démarrage de PostgreSQL. pgBackRest recherche automatiquement dans l’emplacement standard de votre système d’exploitation, aussi il est généralement inutile de préciser ce paramètre, sauf si le répertoire du socket a été explicitement modifié à l’aide du paramètre unix_socket_directories dans postgresql.conf.
Nom obsolète : db-socket-path
Option utilisateur de base de données PostgreSQL (--pg-user)
Utilisateur de base de données PostgreSQL.
Le nom d’utilisateur de la base de données utilisé lors de la connexion à PostgreSQL. Si non spécifié, pgBackRest se connectera avec l’utilisateur système local ou PGUSER.
4.17 - Commande de démarrage (start)
start.Si les processus pgBackRest ont été précédemment arrêtés à l’aide de la commande stop, ils peuvent être redémarrés à l’aide de la commande start. Notez qu’il ne s’agit pas d’un démarrage immédiat des processus pgBackRest, mais qu’ils sont autorisés à s’exécuter. Voir Démarrage et arrêt
pour plus d’informations et d’exemples.
Options générales
Autoriser l’exécution en tant qu’utilisateur root (--allow-root)
Permettre à la commande de s’exécuter en tant qu’utilisateur root.
Par défaut, seul la commande restore peut être exécutée en tant qu’utilisateur root, car elle est conçue pour gérer soigneusement les propriétés des fichiers. Exécuter d’autres commandes en tant que root risque de créer des fichiers (par exemple dans le dépôt) dont le propriétaire est root, rendant ces fichiers inaccessibles à l’utilisateur PostgreSQL, ce qui entraîne l’échec des commandes ultérieures.
Activez cette option pour exécuter une commande en tant qu’utilisateur root malgré tout. Toutefois, il est bien préférable d’exécuter pgBackRest en tant qu’utilisateur propriétaire du dépôt et du cluster PostgreSQL.
Option de configuration (--config)
Fichier de configuration pgBackRest.
Utilisez cette option pour spécifier un fichier de configuration différent du fichier par défaut.
Option Chemin d’inclusion de configuration (--config-include-path)
Chemin vers les fichiers de configuration supplémentaires de pgBackRest.
Les fichiers de configuration se trouvant dans l’emplacement spécifié et ayant l’extension .conf seront concaténés au fichier de configuration de pgBackRest, ce qui donne un seul fichier de configuration.
Option de chemin de configuration (--config-path)
Chemin de base des fichiers de configuration de pgBackRest.
Ce paramètre est utilisé pour remplacer le chemin de base par défaut pour les options --config et --config-include-path, sauf si ces dernières sont explicitement définies en ligne de commande.
Par exemple, passer uniquement --config-path=/conf/pgbackrest fait que la valeur par défaut de --config est définie à /conf/pgbackrest/pgbackrest.conf et que la valeur par défaut de --config-include-path est définie à /conf/pgbackrest/conf.d.
Option Chemin verrou (--lock-path)
Chemin où les fichiers verrou sont stockés.
Le chemin de verrouillage fournit un emplacement où pgBackRest peut créer des fichiers de verrouillage afin d’empêcher l’exécution simultanée d’opérations en conflit.
Option de masque neutre (--neutral-umask)
Utilisez un umask neutre.
Définit le umask à 0000 afin que les modes du dépôt soient créés de manière cohérente. Le mode par défaut du répertoire est 0750 et le mode par défaut du fichier est 0640.
Pour utiliser le umask de l’utilisateur en cours, spécifiez neutral-umask=n dans le fichier de configuration ou --no-neutral-umask en ligne de commande.
Définir l’option de priorité du processus (--priority)
Définir la priorité du processus.
Définit la priorité (c’est-à-dire la valeur de niceness) accordée au processus par l’ordonnanceur du noyau. Les valeurs positives réduisent la priorité, tandis que les valeurs négatives l’augmentent. Dans la plupart des cas, les processus ne disposent pas des autorisations nécessaires pour augmenter leur priorité.
Option stanza (--stanza)
Définit la stanza.
Une stanza est la configuration d’un cluster de base de données PostgreSQL qui définit son emplacement, la manière dont il sera sauvegardé, les options d’archivage, etc. La plupart des serveurs de base de données n’ont qu’un seul cluster PostgreSQL et donc une seule stanza, tandis que les serveurs de sauvegarde ont une stanza pour chaque cluster de base de données à sauvegarder.
Il est tentant de nommer la stanza en fonction du cluster principal, mais un nom plus pertinent décrit les bases de données contenues dans le cluster. Étant donné que le nom de la stanza sera utilisé pour le principal et toutes les répliques, il est préférable de choisir un nom qui décrit la fonction réelle du cluster, par exemple app ou dw, plutôt que le nom local du cluster, comme main ou prod.
Options de journalisation
Niveau de journalisation de la console (--log-level-console)
Niveau de journalisation pour la console.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation du fichier (--log-level-file)
Niveau de journalisation des fichiers.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation des erreurs standard (--log-level-stderr)
Niveau de journalisation pour stderr.
Spécifie les niveaux de journalisation qui seront envoyés vers stderr plutôt que vers stdout (spécifié par log-level-console). L’horodatage et le processus ne seront pas envoyés vers stderr.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Option Chemin Journal (--log-path)
Chemin où les fichiers de journalisation sont stockés.
Le chemin de journalisation fournit un emplacement où pgBackRest peut stocker les fichiers de journalisation. Notez que si log-level-file=off, aucun chemin de journalisation n’est requis.
Option de timestamp de journal (--log-timestamp)
Activer les horodatages dans la journalisation.
Active l’horodatage dans la journalisation console et fichier. Cette option est désactivée dans des situations spéciales, telles que la génération de documentation.
4.18 - Commande d'arrêt (stop)
stop.N’autorise aucun nouveau processus pgBackRest à s’exécuter. Par défaut, les processus en cours d’exécution sont autorisés à se terminer correctement. Utilisez l’option --force pour terminer les processus en cours.
Les processus pgBackRest retourneront une erreur s’ils sont exécutés après la fin de la commande d’arrêt. Consultez Démarrage et arrêt pour plus d’informations et d’exemples.
Options de commande
Option obligatoire (--force)
Forcer l’arrêt de tous les processus pgBackRest.
Cette option enverra des signaux TERM à tous les processus pgBackRest en cours d’exécution afin d’effectuer une fermeture correcte mais immédiate. Notez qu’elle arrêtera également les processus lancés depuis un autre système mais dont les processus distants s’exécutent sur le système actuel. Par exemple, si une sauvegarde a été lancée depuis le serveur de sauvegarde, l’exécution de stop --force sur le serveur de base de données arrêtera le processus de sauvegarde sur le serveur de sauvegarde.
Options générales
Autoriser l’exécution en tant qu’utilisateur root (--allow-root)
Permettre à la commande de s’exécuter en tant qu’utilisateur root.
Par défaut, seul la commande restore peut être exécutée en tant qu’utilisateur root, car elle est conçue pour gérer soigneusement les propriétés des fichiers. Exécuter d’autres commandes en tant que root risque de créer des fichiers (par exemple dans le dépôt) dont le propriétaire est root, rendant ces fichiers inaccessibles à l’utilisateur PostgreSQL, ce qui entraîne l’échec des commandes ultérieures.
Activez cette option pour exécuter une commande en tant qu’utilisateur root malgré tout. Toutefois, il est bien préférable d’exécuter pgBackRest en tant qu’utilisateur propriétaire du dépôt et du cluster PostgreSQL.
Option de configuration (--config)
Fichier de configuration pgBackRest.
Utilisez cette option pour spécifier un fichier de configuration différent du fichier par défaut.
Option Chemin d’inclusion de configuration (--config-include-path)
Chemin vers les fichiers de configuration supplémentaires de pgBackRest.
Les fichiers de configuration se trouvant dans l’emplacement spécifié et ayant l’extension .conf seront concaténés au fichier de configuration de pgBackRest, ce qui donne un seul fichier de configuration.
Option de chemin de configuration (--config-path)
Chemin de base des fichiers de configuration de pgBackRest.
Ce paramètre est utilisé pour remplacer le chemin de base par défaut pour les options --config et --config-include-path, sauf si ces dernières sont explicitement définies en ligne de commande.
Par exemple, passer uniquement --config-path=/conf/pgbackrest fait que la valeur par défaut de --config est définie à /conf/pgbackrest/pgbackrest.conf et que la valeur par défaut de --config-include-path est définie à /conf/pgbackrest/conf.d.
Option Chemin verrou (--lock-path)
Chemin où les fichiers verrou sont stockés.
Le chemin de verrouillage fournit un emplacement où pgBackRest peut créer des fichiers de verrouillage afin d’empêcher l’exécution simultanée d’opérations en conflit.
Option de masque neutre (--neutral-umask)
Utilisez un umask neutre.
Définit le umask à 0000 afin que les modes du dépôt soient créés de manière cohérente. Le mode par défaut du répertoire est 0750 et le mode par défaut du fichier est 0640.
Pour utiliser le umask de l’utilisateur en cours, spécifiez neutral-umask=n dans le fichier de configuration ou --no-neutral-umask en ligne de commande.
Définir l’option de priorité du processus (--priority)
Définir la priorité du processus.
Définit la priorité (c’est-à-dire la valeur de niceness) accordée au processus par l’ordonnanceur du noyau. Les valeurs positives réduisent la priorité, tandis que les valeurs négatives l’augmentent. Dans la plupart des cas, les processus ne disposent pas des autorisations nécessaires pour augmenter leur priorité.
Option stanza (--stanza)
Définit la stanza.
Une stanza est la configuration d’un cluster de base de données PostgreSQL qui définit son emplacement, la manière dont il sera sauvegardé, les options d’archivage, etc. La plupart des serveurs de base de données n’ont qu’un seul cluster PostgreSQL et donc une seule stanza, tandis que les serveurs de sauvegarde ont une stanza pour chaque cluster de base de données à sauvegarder.
Il est tentant de nommer la stanza en fonction du cluster principal, mais un nom plus pertinent décrit les bases de données contenues dans le cluster. Étant donné que le nom de la stanza sera utilisé pour le principal et toutes les répliques, il est préférable de choisir un nom qui décrit la fonction réelle du cluster, par exemple app ou dw, plutôt que le nom local du cluster, comme main ou prod.
Options de journalisation
Niveau de journalisation de la console (--log-level-console)
Niveau de journalisation pour la console.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation du fichier (--log-level-file)
Niveau de journalisation des fichiers.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation des erreurs standard (--log-level-stderr)
Niveau de journalisation pour stderr.
Spécifie les niveaux de journalisation qui seront envoyés vers stderr plutôt que vers stdout (spécifié par log-level-console). L’horodatage et le processus ne seront pas envoyés vers stderr.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Option Chemin Journal (--log-path)
Chemin où les fichiers de journalisation sont stockés.
Le chemin de journalisation fournit un emplacement où pgBackRest peut stocker les fichiers de journalisation. Notez que si log-level-file=off, aucun chemin de journalisation n’est requis.
Option de timestamp de journal (--log-timestamp)
Activer les horodatages dans la journalisation.
Active l’horodatage dans la journalisation console et fichier. Cette option est désactivée dans des situations spéciales, telles que la génération de documentation.
4.19 - Commande de vérification (verify)
verify.Verify détermine si les sauvegardes et les archives présentes dans un dépôt sont valides.
Options de commande
Option de sortie (--output)
Type de sortie.
Les types de sortie suivants sont pris en charge :
none- Aucune vérification de sortie.text- Informations de vérification de sortie affichées sur stdout.
Définir l’option (--set)
Sauvegarde configurée pour vérification.
Vérifiez tous les fichiers de base de données et d’archive associés à l’ensemble de sauvegarde spécifié.
Option verbeuse (--verbose)
Affichage détaillé.
L’option Verbose vaut par défaut false, ce qui fournit une réponse minimale contenant uniquement des informations importantes sur les erreurs dans le dépôt. La spécification de true fournit davantage d’informations sur ce qui a été vérifié avec succès.
Options générales
Autoriser l’exécution en tant qu’utilisateur root (--allow-root)
Permettre à la commande de s’exécuter en tant qu’utilisateur root.
Par défaut, seul la commande restore peut être exécutée en tant qu’utilisateur root, car elle est conçue pour gérer soigneusement les propriétés des fichiers. Exécuter d’autres commandes en tant que root risque de créer des fichiers (par exemple dans le dépôt) dont le propriétaire est root, rendant ces fichiers inaccessibles à l’utilisateur PostgreSQL, ce qui entraîne l’échec des commandes ultérieures.
Activez cette option pour exécuter une commande en tant qu’utilisateur root malgré tout. Toutefois, il est bien préférable d’exécuter pgBackRest en tant qu’utilisateur propriétaire du dépôt et du cluster PostgreSQL.
Option Taille tampon (--buffer-size)
Taille du tampon pour les opérations d’E/S.
Taille de tampon utilisée pour les opérations de copie, de compression, de chiffrement et autres. Le nombre de tampons utilisés dépend des options, et chaque opération peut utiliser une mémoire supplémentaire, par exemple, la compression gz peut utiliser jusqu’à 256KiB de mémoire supplémentaire.
Les valeurs autorisées sont 16KiB, 32KiB, 64KiB, 128KiB, 256KiB, 512KiB, 1MiB, 2MiB, 4MiB, 8MiB et 16MiB.
Option de commande pgBackRest (--cmd)
Commande pgBackRest.
pgBackRest peut générer une chaîne de commande, par exemple lorsque la commande restore génère le paramètre restore_command. Dans ce cas, la commande utilisée pour exécuter le processus pgBackRest sera employée, sauf si l’option cmd est fournie.
AVERTISSEMENT :
Envelopper la commande pgBackRest peut entraîner un comportement imprévisible et n’est pas recommandé.
Option de commande client SSH (--cmd-ssh)
Commande cliente SSH.
Utilisez une commande cliente SSH spécifique lorsque vous souhaitez utiliser une alternative ou que la commande ssh n’est pas disponible dans $PATH.
Option niveau de compression réseau (--compress-level-network)
Niveau de compression du réseau.
Définit le niveau de compression réseau lorsque compress-type=none et la commande ne sont pas exécutées sur le même hôte que le dépôt. La compression est utilisée pour réduire le trafic réseau. Lorsque compress-type est différent de none, le paramètre compress-level-network est ignoré et compress-level est utilisé à la place, afin que le fichier ne soit compressé qu’une seule fois.
Option de configuration (--config)
Fichier de configuration pgBackRest.
Utilisez cette option pour spécifier un fichier de configuration différent du fichier par défaut.
Option Chemin d’inclusion de configuration (--config-include-path)
Chemin vers les fichiers de configuration supplémentaires de pgBackRest.
Les fichiers de configuration se trouvant dans l’emplacement spécifié et ayant l’extension .conf seront concaténés au fichier de configuration de pgBackRest, ce qui donne un seul fichier de configuration.
Option de chemin de configuration (--config-path)
Chemin de base des fichiers de configuration de pgBackRest.
Ce paramètre est utilisé pour remplacer le chemin de base par défaut pour les options --config et --config-include-path, sauf si ces dernières sont explicitement définies en ligne de commande.
Par exemple, passer uniquement --config-path=/conf/pgbackrest fait que la valeur par défaut de --config est définie à /conf/pgbackrest/pgbackrest.conf et que la valeur par défaut de --config-include-path est définie à /conf/pgbackrest/conf.d.
Option d’expiration I/O (--io-timeout)
Délai d’attente d’E/S dépassé.
Délai d’attente, en secondes, utilisé pour les connexions et les opérations de lecture/écriture.
Notez que l’opération de lecture/écriture entière n’a pas besoin de se terminer dans ce délai d’attente, mais une certaine progression doit être réalisée, même si elle ne concerne qu’un seul octet.
Option de masque neutre (--neutral-umask)
Utilisez un umask neutre.
Définit le umask à 0000 afin que les modes du dépôt soient créés de manière cohérente. Le mode par défaut du répertoire est 0750 et le mode par défaut du fichier est 0640.
Pour utiliser le umask de l’utilisateur en cours, spécifiez neutral-umask=n dans le fichier de configuration ou --no-neutral-umask en ligne de commande.
Définir l’option de priorité du processus (--priority)
Définir la priorité du processus.
Définit la priorité (c’est-à-dire la valeur de niceness) accordée au processus par l’ordonnanceur du noyau. Les valeurs positives réduisent la priorité, tandis que les valeurs négatives l’augmentent. Dans la plupart des cas, les processus ne disposent pas des autorisations nécessaires pour augmenter leur priorité.
Option de processus maximum (--process-max)
Nombre maximal de processus à utiliser pour la compression ou le transfert.
Chaque processus effectuera une compression et un transfert afin d’accélérer l’exécution de la commande, mais ne définissez pas process-max trop élevé afin de ne pas affecter les performances de la base de données.
Option délai d’attente du protocole (--protocol-timeout)
Délai d’attente du protocole.
Définit le délai d’attente, en secondes, durant lequel le processus local ou distant attend qu’un nouveau message soit reçu au niveau du protocole. Cela empêche les processus de rester bloqués indéfiniment en attente d’un message.
NOTE : L’option
protocol-timeoutdoit être supérieure à l’optiondb-timeout.
Option Keep Alive (--sck-keep-alive)
Activation du keep-alive.
Active les messages keep-alive sur les connexions socket.
Option stanza (--stanza)
Définit la stanza.
Une stanza est la configuration d’un cluster de base de données PostgreSQL qui définit son emplacement, la manière dont il sera sauvegardé, les options d’archivage, etc. La plupart des serveurs de base de données n’ont qu’un seul cluster PostgreSQL et donc une seule stanza, tandis que les serveurs de sauvegarde ont une stanza pour chaque cluster de base de données à sauvegarder.
Il est tentant de nommer la stanza en fonction du cluster principal, mais un nom plus pertinent décrit les bases de données contenues dans le cluster. Étant donné que le nom de la stanza sera utilisé pour le principal et toutes les répliques, il est préférable de choisir un nom qui décrit la fonction réelle du cluster, par exemple app ou dw, plutôt que le nom local du cluster, comme main ou prod.
Option de nombre de connexions Keep Alive (--tcp-keep-alive-count)
Nombre de maintien de connexion.
Spécifie le nombre de messages TCP keep-alive pouvant être perdus avant que la connexion ne soit considérée comme inactive.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPCNT.
Option d’idle Keep Alive (--tcp-keep-alive-idle)
Délai d’inactivité pour la maintien de la connexion.
Spécifie la durée (en secondes) pendant laquelle aucune activité réseau ne se produit, après laquelle le système d’exploitation doit envoyer un message de maintien de connexion TCP.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPIDLE.
Option Intervalle Keep Alive (--tcp-keep-alive-interval)
Intervalle de temps pour la maintien de la connexion active.
Spécifie la durée (en secondes) après laquelle un message TCP keep-alive non reconnu doit être renvoyé.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPINTVL.
Suites de chiffrement TLSv1.2 Option (--tls-cipher-12)
Suites de chiffrement TLSv1.2 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. L’exemple proposé constitue un choix raisonnable sauf si des exigences de sécurité spécifiques s’appliquent. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Suites de chiffrement TLSv1.3 Option (--tls-cipher-13)
Suites de chiffrement TLSv1.3 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE : Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Options de journalisation
Niveau de journalisation de la console (--log-level-console)
Niveau de journalisation pour la console.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation du fichier (--log-level-file)
Niveau de journalisation des fichiers.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation des erreurs standard (--log-level-stderr)
Niveau de journalisation pour stderr.
Spécifie les niveaux de journalisation qui seront envoyés vers stderr plutôt que vers stdout (spécifié par log-level-console). L’horodatage et le processus ne seront pas envoyés vers stderr.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Option Chemin Journal (--log-path)
Chemin où les fichiers de journalisation sont stockés.
Le chemin de journalisation fournit un emplacement où pgBackRest peut stocker les fichiers de journalisation. Notez que si log-level-file=off, aucun chemin de journalisation n’est requis.
Option de journalisation des sous-processus (--log-subprocess)
Activer la journalisation dans les sous-processus.
Activez la journalisation des fichiers pour tout sous-processus créé par ce processus, en utilisant le niveau de journalisation spécifié par log-level-file.
Option de timestamp de journal (--log-timestamp)
Activer les horodatages dans la journalisation.
Active l’horodatage dans la journalisation console et fichier. Cette option est désactivée dans des situations spéciales, telles que la génération de documentation.
Options du mainteneur
Option de version PostgreSQL obligatoire (--pg-version-force)
Forcer la version de PostgreSQL.
La version de PostgreSQL spécifiée sera utilisée à la place de la version détectée automatiquement en lisant pg_control ou les en-têtes WAL. Cela est principalement utile pour les forks de PostgreSQL ou les versions de développement où ces valeurs diffèrent de la version de publication. La version rapportée par PostgreSQL via server_version_num doit correspondre à la version forcée.
AVERTISSEMENT :
Faites preuve de prudence en utilisant cette option, car pg_control et les en-têtes WAL seront toujours lus selon le format attendu pour la version spécifiée, c’est-à-dire le format issu de la version open-source officielle de PostgreSQL. Si la version fork ou développée modifie le format des champs sur lesquels pgBackRest dépend, cela entraînera un comportement imprévu. En général, cette option ne fonctionnera correctement que si le fork ajoute tous les membres de structure personnalisés après les membres standard de PostgreSQL.
Options du dépôt
Définir l’option dépôt (--repo)
Définir le dépôt.
Spécifiez le dépôt sur lequel une commande doit s’opérer.
Par exemple, cette option peut être utilisée pour effectuer une restauration à partir d’un dépôt spécifique, plutôt que de laisser pgBackRest choisir.
Option de conteneur de dépôt Azure (--repo-azure-container)
Conteneur de dépôt Azure.
Conteneur Azure utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés dans la racine du conteneur en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par Azure dans le conteneur.
Type de clé du dépôt Azure (--repo-azure-key-type)
Type de clé du dépôt Azure.
Les types suivants sont pris en charge pour l’autorisation :
shared- Clé partagéesas- Signature d’accès partagéauto- Autorisation automatique à l’aide d’identités managées Azure
Option de style d’URI de dépôt Azure (--repo-azure-uri-style)
Style URI Azure.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôteaccount.endpoint.path- Se connecter à l’hôteendpointet préfixer le compte aux URI.
Type de chiffrement du dépôt (--repo-cipher-type)
Chiffrement 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 longueur de clé de 256 bits
Notez que le chiffrement est toujours effectué côté client, même si le type de dépôt (par exemple S3) prend en charge le chiffrement.
Option de bac de dépôt GCS (--repo-gcs-bucket)
Dépôt de bucket GCS.
Dépôt GCS utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par GCS dans le bucket.
Option de point de terminaison du dépôt GCS (--repo-gcs-endpoint)
Point de terminaison du dépôt GCS.
Point d’accès utilisé pour se connecter au service de stockage. Peut être mis à jour pour utiliser un serveur local GCS ou un point d’accès alternatif.
Type de clé du dépôt GCS (--repo-gcs-key-type)
Type de clé du dépôt GCS.
Les types suivants sont pris en charge pour l’autorisation :
auto- Autoriser à l’aide du compte de service de l’instance.service- Compte de service à partir d’une clé stockée localement.token- À utiliser pour les tests locaux, par exemplefakegcs.
Lorsque repo-gcs-key-type=service, les identifiants seront rechargés lorsque le jeton d’authentification sera renouvelé.
Option ID du projet du dépôt GCS (--repo-gcs-user-project)
Identifiant du projet GCS.
ID du projet GCS utilisé pour déterminer la facturation des requêtes.
Option hôte du dépôt (--repo-host)
Hôte du dépôt lors de l’opération à distance.
Lors de la sauvegarde et de l’archivage vers un système de fichiers monté localement, ce paramètre n’est pas requis.
Nom obsolète : backup-host
Option du fichier de l’autorité de certification hôte du dépôt (--repo-host-ca-file)
Fichier de l’autorité de certification du serveur de dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour vous connecter à l’hôte du dépôt.
Option Chemin de l’autorité de certification du dépôt (--repo-host-ca-path)
Chemin de l’autorité de certification du serveur de dépôt.
Utilisez un chemin de certificat d’autorité (CA) autre que celui par défaut du système pour établir la connexion avec l’hôte du dépôt.
Option de fichier de certificat d’hôte du dépôt (--repo-host-cert-file)
Fichier de certificat d’hôte du dépôt.
Envoyé à l’hôte du dépôt pour prouver l’identité du client.
Option de commande hôte du dépôt (--repo-host-cmd)
Hôte du dépôt commande pgBackRest.
Requis uniquement si le chemin vers la commande pgBackRest est différent sur les hôtes local et de dépôt. Si non défini, la commande de dépôt sera définie de la même manière que celle de l’hôte local.
Nom obsolète : backup-cmd
Option de configuration de l’hôte du dépôt (--repo-host-config)
Fichier de configuration du serveur de dépôt pgBackRest.
Spécifie l’emplacement du fichier de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le fichier de configuration de l’hôte du dépôt se trouve dans un emplacement différent du fichier de configuration local.
Nom obsolète : sauvegarde-config
Option de chemin d’inclusion de configuration d’hôte de dépôt (--repo-host-config-include-path)
Configuration du serveur de dépôt pgBackRest incluant le chemin.
Définit l’emplacement du chemin d’inclusion de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin d’inclusion de configuration de l’hôte du dépôt est différent du chemin d’inclusion de configuration local.
Chemin de configuration de l’hôte du dépôt (--repo-host-config-path)
Chemin de configuration du serveur de dépôt pgBackRest.
Définit l’emplacement du chemin de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin de configuration de l’hôte du dépôt est différent du chemin de configuration local.
Option de fichier de clé hôte du dépôt (--repo-host-key-file)
Fichier de clé hôte du dépôt.
Vérifie que le certificat client a été envoyé par le propriétaire.
Option de port 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 du serveur du dépôt.
NOTE : Lorsque
repo-host-type=ssh, il n’existe pas de valeur par défaut pourrepo-host-port. Dans ce cas, le port sera celui configuré pour la commande spécifiée parcmd-ssh.
Nom obsolète : backup-ssh-port
Type de protocole d’hôte de dépôt (--repo-host-type)
Type de protocole d’hôte de dépôt.
Les types de protocole suivants sont pris en charge :
ssh- Shell sécurisé.tls- Serveur TLS pgBackRest.
Option d’utilisateur hôte de dépôt (--repo-host-user)
Utilisateur hôte du dépôt lorsque repo-host est défini.
Définit l’utilisateur utilisé pour les opérations sur l’hôte du dépôt. Il est préférable que ce ne soit pas l’utilisateur postgres, mais plutôt un autre utilisateur tel que pgbackrest. Si PostgreSQL s’exécute sur l’hôte du dépôt, l’utilisateur postgres peut être ajouté au groupe pgbackrest afin d’avoir des permissions de lecture sur le dépôt sans pouvoir accidentellement le modifier.
Nom obsolète : backup-user
Option Chemin du dépôt (--repo-path)
Chemin où les sauvegardes et l’archive sont stockées.
Le dépôt est l’emplacement où pgBackRest stocke les sauvegardes et les archives des segments WAL.
Il peut être difficile de prévoir à l’avance l’espace nécessaire. La meilleure approche consiste à effectuer quelques sauvegardes, puis à noter la taille des différents types de sauvegardes (pleines, incrémentielles, différentielles) et à mesurer la quantité de WAL générée par jour. Cela vous donnera une idée générale de l’espace requis, bien que les besoins évoluent probablement au fil du temps avec l’évolution de votre base de données.
Option de bac de dépôt S3 (--repo-s3-bucket)
Dépôt S3.
Dépôt S3 utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par AWS dans le bucket.
Option de point de terminaison du dépôt S3 (--repo-s3-endpoint)
Point de terminaison du dépôt S3.
Le point de terminaison AWS doit être valide pour la région sélectionnée.
Pour les configurations personnalisées ou les tests, les options repo-storage-ca-file, repo-storage-ca-path, repo-storage-host, repo-storage-port, et repo-storage-verify-tls peuvent être utiles.
Type de clé du dépôt S3 (--repo-s3-key-type)
Type de clé pour le dépôt S3.
Les types suivants sont pris en charge :
shared- Clés partagéesauto- Récupérer automatiquement les identifiants temporairesweb-id- Récupérer automatiquement les identifiants d’identité webpod-id- Récupérer automatiquement les identifiants d’identité de pod EKSprocess- Récupérer les identifiants en exécutant un processus
Option ID de clé KMS pour dépôt S3 (--repo-s3-kms-key-id)
Clé KMS du dépôt S3.
Active le chiffrement côté serveur S3 en utilisant la clé du service de gestion des clés AWS spécifiée.
Option de commande du processus d’authentification S3 (--repo-s3-process-cmd)
Commande du processus d’authentification S3.
Commande (et arguments facultatifs) à exécuter pour récupérer les identifiants temporaires S3. Le premier élément de la liste est la commande, les éléments suivants sont passés en tant que paramètres.
Le processus doit produire un JSON contenant les champs AccessKeyId, SecretAccessKey, SessionToken et Expiration. Les identifiants seront automatiquement actualisés avant l’expiration. Voir Process Credential Provider
pour les détails du format.
Option de région du dépôt S3 (--repo-s3-region)
Région du dépôt S3.
La région AWS où le bucket a été créé.
Option Requesteur Payant pour le dépôt S3 (--repo-s3-requester-pays)
Dépôt S3 payeur de la demande.
Active le paiement par le demandeur S3.
Option de rôle du dépôt S3 (--repo-s3-role)
Rôle du dépôt S3.
Le nom du rôle AWS (pas le nom ARN complet) utilisé pour récupérer les identifiants temporaires lorsque repo-s3-key-type=auto.
Option de service de dépôt S3 (--repo-s3-service)
Service de signature S3.
Le service de signature S3 utilisé dans l’authentification SigV4. La valeur par défaut est s3 pour les points d’accès S3 standards. À définir sur s3-outposts lors de l’utilisation d’un point d’accès S3 Outposts.
Option de point de terminaison STS du dépôt S3 (--repo-s3-sts-host)
Point de terminaison STS du dépôt S3.
Point de terminaison STS utilisé pour récupérer des identifiants temporaires lorsque repo-s3-key-type=web-id est configuré. Définissez-le sur un point de terminaison régional (par exemple sts.us-east-1.amazonaws.com) pour utiliser STS régional, ce qui peut être nécessaire pour les régions GovCloud, Chine, ou pour réduire la latence.
Option de style d’URI de dépôt S3 (--repo-s3-uri-style)
Style d’URI S3.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôtebucket.endpoint.path- Se connecter à l’hôteendpointet préfixer les URI par le répertoire.
Option hôte du dépôt SFTP (--repo-sftp-host)
Hôte du dépôt SFTP.
Hôte SFTP contenant le dépôt.
Fingerprint de l’hôte du dépôt SFTP (--repo-sftp-host-fingerprint)
Empreinte du serveur hôte du dépôt SFTP.
La génération de l’empreinte d’hôte du dépôt SFTP doit correspondre à repo-sftp-host-key-hash-type. Générez l’empreinte via awk '{print $2}' ssh_host_xxx_key.pub | base64 -d | (md5sum or sha1sum) -b. Les clés d’hôte SSH se trouvent normalement dans le répertoire /etc/ssh.
Type d’option de vérification de la clé hôte SFTP (--repo-sftp-host-key-check-type)
Type de vérification de la clé hôte SFTP.
Les types de vérification de clé d’hôte SFTP suivants sont pris en charge :
strict- pgBackRest n’ajoutera jamais automatiquement les clés d’hôte au fichier ~/.ssh/known_hosts, et refusera de se connecter aux hôtes dont la clé d’hôte a changé ou n’est pas trouvée dans les fichiers known hosts. Cette option oblige l’utilisateur à ajouter manuellement tous les nouveaux hôtes.accept-new- pgBackRest ajoutera automatiquement les nouvelles clés d’hôte au fichier known hosts de l’utilisateur, mais n’autorisera pas les connexions aux hôtes dont la clé d’hôte a changé.fingerprint- pgBackRest vérifiera la clé d’hôte contre l’empreinte spécifiée par l’optionrepo-sftp-host-fingerprint.none- aucune vérification de clé d’hôte ne sera effectuée.
Type de hachage de la clé hôte du dépôt SFTP (--repo-sftp-host-key-hash-type)
Type de hachage de la clé d’hôte du dépôt SFTP.
Type de hachage de la clé hôte du dépôt SFTP. Déclare le type de hachage à utiliser pour calculer le hachage de la clé hôte du système distant au démarrage SSH. Les versions plus récentes de libssh2 prennent en charge sha256 en plus de md5 et sha1.
Option de port hôte du dépôt SFTP (--repo-sftp-host-port)
Port hôte du dépôt SFTP.
Port hôte du dépôt SFTP.
Option utilisateur hôte dépôt SFTP (--repo-sftp-host-user)
Utilisateur hôte du dépôt SFTP.
Utilisateur sur l’hôte utilisé pour stocker le dépôt.
Option fichier Hôtes SFTP connus (--repo-sftp-known-host)
Fichier d’hôtes SFTP connus.
Fichier known hosts à consulter pour rechercher une correspondance avec un hôte SFTP lors de l’authentification. Si non spécifié, pgBackRest recherchera par défaut dans ~/.ssh/known_hosts, ~/.ssh/known_hosts2, /etc/ssh/ssh_known_hosts et /etc/ssh/ssh_known_hosts2. Si configuré avec un ou plusieurs chemins de fichier, pgBackRest recherchera dans ces fichiers une correspondance. Les chemins de fichier doivent être complets ou commencer par un tilde. L’option repo-sftp-known-host peut être spécifiée plusieurs fois pour indiquer plusieurs fichiers known hosts à consulter. Pour utiliser la vérification du fichier known hosts, l’option repo-sftp-host-fingerprint ne doit pas être définie. Voir également l’option repo-sftp-host-check-type.
Option fichier de clé privée du dépôt SFTP (--repo-sftp-private-key-file)
Fichier de clé privée SFTP.
Fichier de clé privée SFTP utilisé pour l’authentification.
Option de fichier de clé publique du dépôt SFTP (--repo-sftp-public-key-file)
Fichier de clé publique SFTP.
Fichier de clé publique SFTP utilisé pour l’authentification. Facultatif si compilé contre OpenSSL, obligatoire si compilé contre une autre bibliothèque.
Option du fichier CA du dépôt de stockage (--repo-storage-ca-file)
Fichier de certificat d’autorité de certification pour le dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-file, repo-s3-ca-file
Option de chemin du certificat CA TLS pour le dépôt (--repo-storage-ca-path)
Chemin du certificat d’autorité de certification du dépôt.
Utilisez un chemin de certificat d’autorité de certification (CA) autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-path, repo-s3-ca-path
Option hôte de stockage du dépôt (--repo-storage-host)
Hôte de stockage du dépôt.
Se connecter à un hôte autre que le point de terminaison de stockage (par exemple S3, Azure). Cela est généralement utilisé pour les tests.
Noms obsolètes : repo-azure-host, repo-s3-host
Option de port du stockage du dépôt (--repo-storage-port)
Port du stockage du dépôt.
Port à utiliser lors de la connexion au point de terminaison du stockage (par exemple S3, Azure) ou à l’hôte (le cas échéant).
Noms obsolètes : repo-azure-port, repo-s3-port
Option d’étiquette de stockage du dépôt (--repo-storage-tag)
Étiquette(s) de stockage du dépôt.
Spécifiez les balises à ajouter aux objets lorsque le dépôt est un magasin d’objets (par exemple, S3). L’option peut être répétée pour ajouter plusieurs balises.
Il n’existe aucune fonctionnalité dans pgBackRest permettant de modifier ces balises ; veillez donc à les définir correctement avant d’exécuter stanza-create afin d’assurer une cohérence des balises dans l’ensemble du dépôt.
Option de taille de morceau de chargement du dépôt (--repo-storage-upload-chunk-size)
Taille du morceau de chargement du dépôt.
Les magasins d’objets tels que S3 permettent de télécharger des fichiers par morceaux lorsque le fichier est trop volumineux pour être stocké en mémoire. Même si le fichier peut être stocké en mémoire, il est plus efficace en mémoire de limiter la quantité de mémoire utilisée pour les téléchargements.
Une taille de morceau plus élevée entraîne généralement de meilleures performances, car elle réduit le nombre de requêtes de téléchargement et permet de télécharger plus de fichiers en une seule requête plutôt qu’en morceaux. Le désavantage est que la consommation mémoire sera plus élevée, et comme la mémoire tampon de morceau doit être allouée par processus, des valeurs plus élevées de process-max entraînent une consommation mémoire globale plus importante.
Notez que les tailles de morceau valides varient selon le type de stockage et la plateforme. Par exemple, AWS S3 impose une taille minimale de morceau de 5MiB. La terminologie relative à la taille du morceau varie selon le type de stockage ; utilisez donc « part size » pour AWS S3, « chunk size » pour GCS et « block size » pour Azure lorsque vous recherchez les valeurs minimales ou maximales.
Si un fichier est plus grand que 1GiB (la taille maximale que PostgreSQL crée par défaut), la taille de tranche sera augmentée progressivement jusqu’à la valeur maximale autorisée afin de terminer le téléchargement du fichier.
Option de vérification du certificat de stockage du dépôt (--repo-storage-verify-tls)
Vérification du certificat du dépôt de stockage.
Cette option permet d’activer/désactiver la vérification du certificat TLS du serveur de stockage (par exemple, S3, Azure). La désactivation ne doit être utilisée que pour des tests ou d’autres scénarios où un certificat a été auto-signé.
Noms obsolètes : repo-azure-verify-tls, repo-s3-verify-ssl, repo-s3-verify-tls
Heure cible pour l’option dépôt (--repo-target-time)
Heure cible pour le dépôt.
Le temps cible définit l’instant auquel les commandes lisent un dépôt sur un stockage versionné. Cela permet à la commande de lire le dépôt tel qu’il était à un instant donné, afin de récupérer des données supprimées ou corrompues par une erreur utilisateur ou un logiciel malveillant.
Le stockage versionné est pris en charge par S3, GCS et Azure, mais il est généralement désactivé par défaut. En plus d’activer la versioning, il peut être utile d’activer le verrouillage d’objets pour S3, ou la suppression progressive pour GCS ou Azure.
Lorsque l’option repo-target-time est spécifiée, l’option repo doit également être fournie. Il est probable que tous les types de dépôt ne prennent pas en charge la versionning, et il est généralement préférable de cibler un seul dépôt pour la récupération.
Notez que les comparaisons avec l’horodatage de stockage sont <= à l’horodatage fourni et que les millisecondes sont tronquées de l’horodatage lorsqu’elles sont fournies.
Option de type de dépôt (--repo-type)
Type de stockage utilisé pour le dépôt.
Les types de dépôt suivants sont pris en charge :
azure- Service de stockage Blob Azurecifs- Commeposix, mais désactive les liens et les fsyncs de répertoiregcs- Google Cloud Storageposix- Systèmes de fichiers conformes à Posixs3- AWS Simple Storage Servicesftp- Protocole de transfert de fichiers sécurisé
Lorsqu’un montage NFS est utilisé comme dépôt posix, les mêmes règles s’appliquent à pgBackRest qu’indiquées dans la documentation PostgreSQL : Création d’un cluster de base de données - Systèmes de fichiers
.
4.20 - Commande Version (version)
version.Affiche la version de pgBackRest installée.
Options de commande
Option de sortie (--output)
Type de sortie.
Les types de sortie suivants sont pris en charge :
text- Affiche la version installée de pgBackRest sous forme de texte.num- Affiche la version installée de pgBackRest sous forme d’entier.
5 - Référence de configuration
Introduction
pgBackRest peut être utilisé entièrement à l’aide de paramètres en ligne de commande, mais un fichier de configuration est plus pratique pour les installations complexes ou celles qui définissent de nombreux paramètres. L’emplacement par défaut du fichier de configuration est /etc/pgbackrest/pgbackrest.conf. Si aucun fichier n’existe à cet emplacement, l’ancien emplacement par défaut de /etc/pgbackrest.conf sera vérifié.
Les types d’option suivants sont utilisés :
Chaîne : Une chaîne de texte, couramment utilisée comme identifiant, mot de passe, etc.
Exemple de ligne de commande : --stanza=demo
Exemple de fichier de configuration : repo1-cipher-pass=zWaf6XtpjIVZC5444yXB...
Chemin : Utilisé pour identifier de manière unique un emplacement dans une structure de répertoires. Les chemins doivent commencer par /, la double occurrence de // n’est pas autorisée, et aucun / final n’est attendu.
Exemple de ligne de commande : --repo1-path=/var/lib/pgbackrest
Exemple de fichier de configuration : repo1-path=/var/lib/pgbackrest
Booléen : Active ou désactive l’option. Seules les valeurs y/n sont autorisées.
Exemples de ligne de commande : --start-fast, --no-start-fast, --start-fast=y, --start-fast=n
Exemples de fichier de configuration : start-fast=y, start-fast=n
Entier : Utilisé pour les ports, les nombres de rétention ou de réessais, le nombre de processus parallèles autorisés, etc.
Exemple de ligne de commande : --compress-level=3
Exemple de fichier de configuration : pg1-port=5432
Taille : Utilisée pour les tailles de tampon, l’utilisation du disque, etc. La taille peut être spécifiée en octets (par défaut) ou en KiB, MiB, GiB, TiB ou PiB, où le multiplicateur est une puissance de 1024. Par exemple, la valeur insensible à la casse 5GiB (ou 5GB, 5g) peut être utilisée à la place de 5368709120. Les valeurs fractionnaires telles que 2,5GiB ne sont pas autorisées ; utilisez 2560MiB à la place.
Exemple de ligne de commande : --archive-get-queue-max=1GiB
Exemple de fichier de configuration : buffer-size=2MiB
Temps : Durée en secondes.
Exemple de ligne de commande : --io-timeout=90
Exemple de fichier de configuration : db-timeout=600
Liste : L’option peut être fournie plusieurs fois.
Exemple de ligne de commande : --db-exclude=db1 --db-exclude=db2 --db-exclude=db5
Exemple de fichier de configuration, chacun sur sa propre ligne : db-exclude=db1 db-exclude=db2 db-exclude=db5
Clé/Valeur : L’option peut être fournie plusieurs fois au format key=value.
Exemple de ligne de commande : --tablespace-map=ts_01=/db/ts_01 --tablespace-map=ts_02=/db/ts_02
Exemple de fichier de configuration, chacun sur sa propre ligne : tablespace-map=ts_01=/db/ts_01 tablespace-map=ts_02=/db/ts_02
Options d’archive
La section archive définit les options pour les commandes archive-push et archive-get.
Option d’archivage asynchrone (--archive-async)
Envoyer/récupérer les segments WAL de manière asynchrone.
Active l’exécution asynchrone pour les commandes archive-push et archive-get.
L’opération asynchrone est plus efficace car elle permet de réutiliser les connexions et de tirer parti de la parallélisation. Consultez les options spool-path, archive-get-queue-max et archive-push-queue-max pour plus d’informations.
Taille maximale de la file d’attente de récupération d’archive (--archive-get-queue-max)
Taille maximale de la file d’attente archive-get de pgBackRest.
Spécifie la taille maximale de la file d’attente archive-get lorsque archive-async est activé. La file est stockée dans spool-path et sert à accélérer la fourniture des WAL à PostgreSQL.
Option de réessai du segment WAL manquant (--archive-missing-retry)
Réessayer le segment WAL manquant
Réessayer un segment WAL précédemment signalé comme manquant par la commande archive-get en mode asynchrone. Cela empêche l’utilisation de notifications provenant d’une restauration antérieure dans le répertoire de stockage temporaire, qui pourrait entraîner une défaillance de récupération si la cohérence n’a pas été atteinte.
Désactiver cette option permet à PostgreSQL de reconnaître plus fiablement l’arrivée à la fin du WAL dans l’archive, ce qui permet de passer au streaming depuis le principal. Avec les réessais activés, un flux continu de WAL archivé fait que PostgreSQL continue de récupérer le WAL depuis l’archive au lieu de basculer vers le streaming.
Lorsque cette option est désactivée, il est important de s’assurer que le chemin d’épissage de la stanza est vide. La commande restore effectue automatiquement cette opération si le chemin d’épissage est configuré au moment de la restauration. Sinon, il incombe à l’utilisateur de s’assurer que le chemin d’épissage est vide.
Option taille lot de poussée d’archive (--archive-push-batch-size)
Quantité maximale de WAL à transférer par exécution asynchrone.
En mode asynchrone, le processus archive-push transmet tous les segments WAL prêts en une seule exécution. Comme archive-push-queue-max n’est vérifié qu’au début de chaque exécution, une exécution traitant un très grand nombre de segments peut faire croître la file d’attente bien au-delà de la limite avant qu’elle ne soit à nouveau vérifiée.
Cette option limite la quantité de WAL traitée par exécution, afin que le processus se termine et soit relancé par le prochain archive-push, qui vérifie à nouveau la file d’attente. Des valeurs plus faibles entraînent une vérification plus fréquente de la file d’attente, au prix d’un démarrage plus fréquent du processus asynchrone. La valeur est arrondie vers le bas à un nombre entier de segments WAL, mais au moins un segment est toujours traité.
Taille maximale de la file d’attente d’archivage en écriture (--archive-push-queue-max)
Taille maximale de la file d’attente d’archive PostgreSQL.
Une fois la limite atteinte, les actions suivantes se produiront :
- pgBackRest notifiera PostgreSQL que le WAL a été correctement archivé, puis LE SUPPRIMERA.
- Un avertissement sera affiché dans le journal de PostgreSQL.
Si cela se produit, le flux des journaux d’archive sera interrompu et la restauration à un point précis (PITR) ne sera plus possible au-delà de ce point. Une nouvelle sauvegarde sera nécessaire pour rétablir la capacité de restauration complète.
En mode asynchrone, toute la file d’attente sera supprimée afin d’éviter que des segments de WAL ne passent avant que la limite de file ne soit à nouveau dépassée.
En mode asynchrone, cette limite n’est vérifiée qu’au démarrage de chaque exécution de archive-push, de sorte que la file d’attente puisse dépasser cette limite au cours d’une même exécution. Réduisez archive-push-batch-size afin de vérifier la file d’attente plus fréquemment.
Ce mécanisme a pour but d’éviter que le volume de journalisation ne soit saturé, ce qui fermerait complètement PostgreSQL. Il est préférable de perdre une sauvegarde que de faire tomber PostgreSQL.
Nom obsolète : archive-queue-max
Option délai d’archivage (--archive-timeout)
Délai d’attente de l’archive.
Définir le délai maximal, en secondes, d’attente pour chaque segment WAL afin qu’il atteigne le dépôt d’archive pgBackRest. Ce délai s’applique aux commandes check et backup lors de l’attente des segments WAL nécessaires à la cohérence de la sauvegarde.
Options de sauvegarde
La section backup définit les paramètres liés à la sauvegarde.
Option d’annotation de sauvegarde (--annotation)
Ajoutez des paires clé/valeur définies par l’utilisateur à la sauvegarde.
Les utilisateurs peuvent attacher des paires clé/valeur explicatives à la sauvegarde. Cette option peut être utilisée plusieurs fois pour attacher plusieurs annotations.
Les annotations sont produites par la sortie texte de la commande info lorsque une sauvegarde est spécifiée avec --set, et apparaissent toujours dans la sortie JSON.
Option de vérification de l’archive (--archive-check)
Vérifiez que les segments WAL sont présents dans l’archive avant la fin de la sauvegarde.
Vérifie que tous les segments WAL nécessaires pour rendre la sauvegarde cohérente sont présents dans l’archive WAL. Il est recommandé de laisser cette option par défaut, sauf si vous utilisez une autre méthode d’archivage.
Cette option doit être activée si archive-copy est activé.
Option de copie d’archive (--archive-copy)
Copiez les segments WAL nécessaires à la cohérence vers la sauvegarde.
Cette option, légèrement paranoïaque, protège contre les corruption dans l’archive des segments WAL en stockant directement dans la sauvegarde les segments WAL nécessaires à la cohérence. Les segments WAL sont toujours stockés dans l’archive, donc cette option utilise un espace supplémentaire.
Il est préférable que les commandes archive-push et backup utilisent le même compress-type (par exemple lz4) lors de l’utilisation de cette option. Sinon, les segments WAL devront être récompressés avec le compress-type utilisé par la sauvegarde, ce qui peut s’avérer assez coûteux selon la quantité de WAL générée pendant la sauvegarde.
Lors d’une restauration, les segments WAL seront présents dans pg_xlog/pg_wal et PostgreSQL les utilisera en priorité plutôt que d’appeler restore_command.
L’option archive-check doit être activée si archive-copy est activé.
Vérifier l’option Mode archive (--archive-mode-check)
Vérifiez le paramètre PostgreSQL archive_mode.
Activé par défaut, cette option interdit PostgreSQL archive_mode=always.
Les segments WAL poussés depuis un serveur de secours peuvent être logiquement identiques aux segments WAL poussés depuis le principal, mais présenter des sommes de contrôle différentes. Il est recommandé de désactiver l’archivage depuis plusieurs sources afin d’éviter les conflits.
AVERTISSEMENT :
Si cette option est désactivée, il est essentiel de s’assurer qu’un seul archivage écrit dans le dépôt via la commande archive-push.
Option de sauvegarde depuis une instance de secours (--backup-standby)
Sauvegarde à partir du cluster de secours.
Activez la sauvegarde depuis le serveur de secours afin de réduire la charge sur le cluster principal. Cette option nécessite que les hôtes principal et de secours soient configurés.
Les modes suivants sont pris en charge :
y- un serveur standby est obligatoire pour la sauvegarde.prefer- effectuer la sauvegarde depuis le serveur standby s’il est disponible, sinon depuis le primaire.n- effectuer la sauvegarde uniquement depuis le primaire.
Option sommes de contrôle (--checksum-page)
Valider les sommes de contrôle des pages de données.
Active la validation de toutes les sommes de contrôle des pages de données lors de la sauvegarde d’un cluster. Cette option est activée automatiquement lorsque les sommes de contrôle des pages de données sont activées sur le cluster.
Les échecs de validation de la somme de contrôle n’interrompent pas une sauvegarde. En revanche, des avertissements sont émis dans le journal (et sur la console avec les paramètres par défaut) et la liste des pages invalides est stockée dans le manifeste de sauvegarde.
Option d’exclusion de chemins/fichiers (--exclude)
Exclure les chemins ou fichiers de la sauvegarde.
Toutes les exclusions sont relatives à $PGDATA. Si l’exclusion se termine par /, seuls les fichiers du répertoire spécifié seront exclus, par exemple --exclude=junk/ exclura tous les fichiers du répertoire $PGDATA/junk tout en conservant le répertoire lui-même. Si l’exclusion ne se termine pas par /, le fichier peut correspondre exactement à l’exclusion ou correspondre à l’exclusion suivie de /, par exemple --exclude=junk exclura le répertoire $PGDATA/junk ainsi que tous les fichiers qu’il contient.
Faites attention à utiliser cette fonctionnalité — il est très facile d’exclure quelque chose de crucial qui rendra la sauvegarde inconsistante. Assurez-vous de tester vos restaurations !
Tous les fichiers exclus seront journalisés au niveau info ainsi que la règle d’exclusion. Vérifiez soigneusement la liste des fichiers exclus afin de vous assurer qu’aucun fichier inattendu n’est exclu.
NOTE :
Les exclusions ne sont pas prises en compte lors d’une restauration incrémentielle. Tous les fichiers/répertoires exclus lors de la sauvegarde seront supprimés lors de la restauration incrémentielle.
Cette option ne doit pas être utilisée pour exclure les journaux PostgreSQL d’une sauvegarde. Les journaux peuvent être déplacés hors du répertoire PGDATA à l’aide de la configuration PostgreSQL log_directory, ce qui permet de conserver les journaux après une restauration.
Plusieurs exclusions peuvent être spécifiées en ligne de commande ou dans un fichier de configuration.
Option d’expiration automatique (--expire-auto)
Exécuter automatiquement la commande expire après une sauvegarde réussie.
L’option est activée par défaut. Faites preuve de prudence en la désactivant, car cela entraînera le maintien indéfini de toutes les sauvegardes et archives, ce qui pourrait faire épuiser l’espace disponible dans le dépôt. La commande expire devra être exécutée régulièrement afin d’éviter ce problème.
Lorsque expire est exécuté automatiquement après une sauvegarde réussie, il utilise la configuration de la commande backup, de sorte que les options définies uniquement dans une section de commande expire (par exemple [global:expire]) ne sont pas prises en compte. Pour appliquer une configuration spécifique à expire, désactivez cette option et exécutez la commande expire séparément.
Option seuil d’enregistrement du manifeste (--manifest-save-threshold)
Seuil de sauvegarde manifeste pendant la sauvegarde.
Définit la fréquence à laquelle le manifeste sera enregistré pendant une sauvegarde. Enregistrer le manifeste est important car il stocke les sommes de contrôle et permet au fonctionnement de la reprise d’être efficace. La seuil réel utilisé est le plus élevé entre 1 % de la taille de la sauvegarde et manifest-save-threshold.
Option Résumé (--resume)
Permet la reprise d’une sauvegarde interrompue.
Définit si la fonction de reprise est activée. La reprise peut réduire considérablement le temps nécessaire pour exécuter une sauvegarde après un échec précédent de la même nature. Toutefois, elle ajoute de la complexité, aussi peut-il être souhaitable de la désactiver dans les environnements qui n’en ont pas besoin.
Option Démarrage rapide (--start-fast)
Forcer un checkpoint pour démarrer la sauvegarde plus rapidement.
Force un checkpoint (en passant y au paramètre fast de la fonction de démarrage de la sauvegarde) afin que la sauvegarde commence immédiatement. Sinon, la sauvegarde commencera après le prochain checkpoint régulier.
Options générales
La section general définit les options communes à de nombreux commandes.
Autoriser l’exécution en tant qu’utilisateur root (--allow-root)
Permettre à la commande de s’exécuter en tant qu’utilisateur root.
Par défaut, seul la commande restore peut être exécutée en tant qu’utilisateur root, car elle est conçue pour gérer soigneusement les propriétés des fichiers. Exécuter d’autres commandes en tant que root risque de créer des fichiers (par exemple dans le dépôt) dont le propriétaire est root, rendant ces fichiers inaccessibles à l’utilisateur PostgreSQL, ce qui entraîne l’échec des commandes ultérieures.
Activez cette option pour exécuter une commande en tant qu’utilisateur root malgré tout. Toutefois, il est bien préférable d’exécuter pgBackRest en tant qu’utilisateur propriétaire du dépôt et du cluster PostgreSQL.
Option Taille tampon (--buffer-size)
Taille du tampon pour les opérations d’E/S.
Taille de tampon utilisée pour les opérations de copie, de compression, de chiffrement et autres. Le nombre de tampons utilisés dépend des options, et chaque opération peut utiliser une mémoire supplémentaire, par exemple, la compression gz peut utiliser jusqu’à 256KiB de mémoire supplémentaire.
Les valeurs autorisées sont 16KiB, 32KiB, 64KiB, 128KiB, 256KiB, 512KiB, 1MiB, 2MiB, 4MiB, 8MiB et 16MiB.
Option de commande pgBackRest (--cmd)
Commande pgBackRest.
pgBackRest peut générer une chaîne de commande, par exemple lorsque la commande restore génère le paramètre restore_command. Dans ce cas, la commande utilisée pour exécuter le processus pgBackRest sera employée, sauf si l’option cmd est fournie.
AVERTISSEMENT :
Envelopper la commande pgBackRest peut entraîner un comportement imprévisible et n’est pas recommandé.
Option de commande client SSH (--cmd-ssh)
Commande cliente SSH.
Utilisez une commande cliente SSH spécifique lorsque vous souhaitez utiliser une alternative ou que la commande ssh n’est pas disponible dans $PATH.
Option de compression (--compress)
Utilisez la compression des 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.
Option niveau de compression (--compress-level)
Niveau de compression du fichier.
Définit le niveau à utiliser pour la compression des fichiers lorsque compress-type est différent de none ou compress=y (obsolète).
Option niveau de compression réseau (--compress-level-network)
Niveau de compression du réseau.
Définit le niveau de compression réseau lorsque compress-type=none et la commande ne sont pas exécutées sur le même hôte que le dépôt. La compression est utilisée pour réduire le trafic réseau. Lorsque compress-type est différent de none, le paramètre compress-level-network est ignoré et compress-level est utilisé à la place, afin que le fichier ne soit compressé qu’une seule fois.
Option de type de compression (--compress-type)
Type de compression des fichiers.
Les types de compression suivants sont pris en charge :
none- pas de compressionbz2- format de compression bzip2gz- format de compression gziplz4- format de compression lz4 (non disponible sur toutes les plates-formes)zst- format de compression Zstandard (non disponible sur toutes les plates-formes)
Option de délai d’attente de la base de données (--db-timeout)
Délai d’attente dépassé pour la requête de base de données.
Définit le délai d’attente, en secondes, des requêtes effectuées contre la base de données. Cela inclut les fonctions de démarrage et d’arrêt de la sauvegarde, qui peuvent chacune prendre beaucoup de temps. En raison de cela, le délai d’attente doit être maintenu élevé, sauf si vous savez que ces fonctions retourneront rapidement (par exemple, si vous avez défini start-fast=y et que vous savez que le cluster 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.
Option Delta (--delta)
Restauration ou sauvegarde à l’aide de sommes de contrôle.
Lors d’une restauration, par défaut, les répertoires de données PostgreSQL et les répertoires de tablespace sont supposés exister mais être vides. Cette option effectue une restauration incrémentielle à l’aide des sommes de contrôle.
Pendant une sauvegarde, cette option utilisera les sommes de contrôle au lieu des horodatages pour déterminer si les fichiers seront copiés.
Option d’expiration I/O (--io-timeout)
Délai d’attente d’E/S dépassé.
Délai d’attente, en secondes, utilisé pour les connexions et les opérations de lecture/écriture.
Notez que l’opération de lecture/écriture entière n’a pas besoin de se terminer dans ce délai d’attente, mais une certaine progression doit être réalisée, même si elle ne concerne qu’un seul octet.
Option Chemin verrou (--lock-path)
Chemin où les fichiers verrou sont stockés.
Le chemin de verrouillage fournit un emplacement où pgBackRest peut créer des fichiers de verrouillage afin d’empêcher l’exécution simultanée d’opérations en conflit.
Option de masque neutre (--neutral-umask)
Utilisez un umask neutre.
Définit le umask à 0000 afin que les modes du dépôt soient créés de manière cohérente. Le mode par défaut du répertoire est 0750 et le mode par défaut du fichier est 0640.
Pour utiliser le umask de l’utilisateur en cours, spécifiez neutral-umask=n dans le fichier de configuration ou --no-neutral-umask en ligne de commande.
Définir l’option de priorité du processus (--priority)
Définir la priorité du processus.
Définit la priorité (c’est-à-dire la valeur de niceness) accordée au processus par l’ordonnanceur du noyau. Les valeurs positives réduisent la priorité, tandis que les valeurs négatives l’augmentent. Dans la plupart des cas, les processus ne disposent pas des autorisations nécessaires pour augmenter leur priorité.
Option de processus maximum (--process-max)
Nombre maximal de processus à utiliser pour la compression ou le transfert.
Chaque processus effectuera une compression et un transfert afin d’accélérer l’exécution de la commande, mais ne définissez pas process-max trop élevé afin de ne pas affecter les performances de la base de données.
Option délai d’attente du protocole (--protocol-timeout)
Délai d’attente du protocole.
Définit le délai d’attente, en secondes, durant lequel le processus local ou distant attend qu’un nouveau message soit reçu au niveau du protocole. Cela empêche les processus de rester bloqués indéfiniment en attente d’un message.
NOTE :
L’option protocol-timeout doit être supérieure à l’option db-timeout.
Option Keep Alive (--sck-keep-alive)
Activation du keep-alive.
Active les messages keep-alive sur les connexions socket.
Option Chemin de répertoire d’attente (--spool-path)
Chemin où les données transitoires sont stockées.
Ce chemin est utilisé pour stocker les données de la commande asynchrone archive-push et archive-get.
La commande asynchrone archive-push écrit des accusés de réception dans le répertoire de spool après avoir correctement stocké le WAL dans l’archive, ou une erreur en cas d’échec, afin que le processus au premier plan puisse informer rapidement PostgreSQL. Ces fichiers sont très petits : vides en cas de succès et de quelques centaines d’octets en cas d’erreur.
La commande asynchrone archive-get met en file d’attente les fichiers WAL dans le répertoire de stockage provisoire afin de pouvoir les fournir très rapidement lorsque PostgreSQL les demande. Le déplacement des fichiers vers PostgreSQL est le plus efficace lorsque le répertoire de stockage provisoire se trouve sur le même système de fichiers que pg_xlog/pg_wal. Toutefois, il n’est pas recommandé de placer le répertoire de stockage provisoire à l’intérieur du répertoire pg_xlog/pg_wal, car cela pourrait entraîner des problèmes pour les utilitaires PostgreSQL tels que pg_rewind.
Les données stockées dans le chemin d’attente ne sont pas strictement temporaires, car elles peuvent et doivent survivre à un redémarrage. Toutefois, leur perte n’est pas problématique. pgBackRest vérifiera simplement chaque segment WAL afin de s’assurer qu’il est correctement archivé pour archive-push et reconstruira la file d’attente pour archive-get.
Le chemin d’attente doit ê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.
Option de nombre de connexions Keep Alive (--tcp-keep-alive-count)
Nombre de maintien de connexion.
Spécifie le nombre de messages TCP keep-alive pouvant être perdus avant que la connexion ne soit considérée comme inactive.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPCNT.
Option d’idle Keep Alive (--tcp-keep-alive-idle)
Délai d’inactivité pour la maintien de la connexion.
Spécifie la durée (en secondes) pendant laquelle aucune activité réseau ne se produit, après laquelle le système d’exploitation doit envoyer un message de maintien de connexion TCP.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPIDLE.
Option Intervalle Keep Alive (--tcp-keep-alive-interval)
Intervalle de temps pour la maintien de la connexion active.
Spécifie la durée (en secondes) après laquelle un message TCP keep-alive non reconnu doit être renvoyé.
Cette option est disponible sur les systèmes qui prennent en charge l’option de socket TCP_KEEPINTVL.
Suites de chiffrement TLSv1.2 Option (--tls-cipher-12)
Suites de chiffrement TLSv1.2 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE :
Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. L’exemple proposé constitue un choix raisonnable sauf si des exigences de sécurité spécifiques s’appliquent. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Suites de chiffrement TLSv1.3 Option (--tls-cipher-13)
Suites de chiffrement TLSv1.3 autorisées.
Toutes les connexions TLS entre le client pgBackRest et le serveur sont chiffrées. Par défaut, les connexions aux magasins d’objets (par exemple S3) sont également chiffrées.
NOTE :
Le niveau de sécurité minimal absolu pour toute connexion de transport est TLSv1.2.
Les suites de chiffrement acceptées peuvent être ajustées si nécessaire. Si non définies (valeur par défaut), la valeur par défaut de la bibliothèque OpenSSL sous-jacente s’applique.
Options de journalisation
La section log définit les paramètres liés à la journalisation.
AVERTISSEMENT :
La journalisation au niveau trace peut exposer des secrets tels que des clés et des mots de passe. Utilisez avec précaution !
Niveau de journalisation de la console (--log-level-console)
Niveau de journalisation pour la console.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation du fichier (--log-level-file)
Niveau de journalisation des fichiers.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Niveau de journalisation des erreurs standard (--log-level-stderr)
Niveau de journalisation pour stderr.
Spécifie les niveaux de journalisation qui seront envoyés vers stderr plutôt que vers stdout (spécifié par log-level-console). L’horodatage et le processus ne seront pas envoyés vers stderr.
Les niveaux de journalisation suivants sont pris en charge :
off- Aucune journalisation (non recommandé)error- Journaliser uniquement les erreurswarn- Journaliser les avertissements et les erreursinfo- Journaliser les informations, les avertissements et les erreursdetail- Journaliser les détails, les informations, les avertissements et les erreursdebug- Journaliser le débogage, les détails, les informations, les avertissements et les erreurstrace- Journaliser les traces (débogage très détaillé), le débogage, les informations, les avertissements et les erreurs
Option Chemin Journal (--log-path)
Chemin où les fichiers de journalisation sont stockés.
Le chemin de journalisation fournit un emplacement où pgBackRest peut stocker les fichiers de journalisation. Notez que si log-level-file=off, aucun chemin de journalisation n’est requis.
Option de journalisation des sous-processus (--log-subprocess)
Activer la journalisation dans les sous-processus.
Activez la journalisation des fichiers pour tout sous-processus créé par ce processus, en utilisant le niveau de journalisation spécifié par log-level-file.
Option de timestamp de journal (--log-timestamp)
Activer les horodatages dans la journalisation.
Active l’horodatage dans la journalisation console et fichier. Cette option est désactivée dans des situations spéciales, telles que la génération de documentation.
Options du mainteneur
Les options de maintenance sont destinées à soutenir les forks de PostgreSQL. Les paramètres appropriés doivent être déterminés par le mainteneur du fork, puis communiqués aux utilisateurs du fork.
AVERTISSEMENT :
Une utilisation incorrecte de ces options peut entraîner un comportement imprévu ou une corruption des données.
Il incombe au mainteneur de la branche de tester pgBackRest avec les options requises. pgBackRest ne garantit pas la compatibilité avec toute branche.
Option de vérification des en-têtes WAL (--archive-header-check)
Vérifier la version/id de PostgreSQL dans les en-têtes WAL.
Activé par défaut, cette option vérifie l’en-tête WAL contre la version de PostgreSQL et l’identifiant système afin de s’assurer que le WAL est copié dans la bonne stanza. Cela s’ajoute à la vérification de pg_control par rapport à la stanza et à la vérification que le WAL est copié à partir du même répertoire de données PostgreSQL où se trouve pg_control.
Par conséquent, désactiver cette vérification est relativement sûr, mais ne doit être effectué que lorsqu’il est nécessaire, par exemple si le WAL est chiffré.
Option de vérification de l’en-tête de page (--page-header-check)
Vérifier les en-têtes de page PostgreSQL.
Activé par défaut, cette option ajoute des vérifications d’en-tête de page.
Cette option doit être désactivée uniquement si nécessaire, par exemple si les pages sont chiffrées.
Option de version PostgreSQL obligatoire (--pg-version-force)
Forcer la version de PostgreSQL.
La version de PostgreSQL spécifiée sera utilisée à la place de la version détectée automatiquement en lisant pg_control ou les en-têtes WAL. Cela est principalement utile pour les forks de PostgreSQL ou les versions de développement où ces valeurs diffèrent de la version de publication. La version rapportée par PostgreSQL via server_version_num doit correspondre à la version forcée.
AVERTISSEMENT :
Faites preuve de prudence en utilisant cette option, car pg_control et les en-têtes WAL seront toujours lus selon le format attendu pour la version spécifiée, c’est-à-dire le format issu de la version open-source officielle de PostgreSQL. Si la version fork ou développée modifie le format des champs sur lesquels pgBackRest dépend, cela entraînera un comportement imprévu. En général, cette option ne fonctionnera correctement que si le fork ajoute tous les membres de structure personnalisés après les membres standard de PostgreSQL.
Options du dépôt
La section repository définit les options utilisées pour configurer le dépôt.
Indexation : Toutes les options repo- sont indexées afin de permettre la configuration de plusieurs dépôts. Par exemple, un seul dépôt est configuré à l’aide des options repo1-path, repo1-host, etc. Si plusieurs dépôts sont configurés et que l’option --repo n’est pas précisée pour une commande, les dépôts seront traités dans l’ordre de priorité décroissante (par exemple, repo1 puis repo2).
Les options repo-retention-* définissent la durée de rétention des sauvegardes. L’expiration n’a lieu qu’après que le nombre de sauvegardes complètes dépasse la rétention autorisée. Autrement dit, si repo1-retention-full-type est défini sur count (valeur par défaut) et que repo1-retention-full est défini sur 2, il doit y avoir 3 sauvegardes complètes avant que la plus ancienne ne soit expirée. Si repo1-retention-full-type est défini sur time, alors repo1-retention-full représente des jours, et il doit y avoir au moins autant de jours de sauvegardes complètes avant qu’une expiration ne puisse avoir lieu. Veillez toujours à disposer d’espace suffisant pour la rétention + 1 sauvegarde.
Option de compte de dépôt Azure (--repo-azure-account)
Compte de dépôt Azure.
Compte Azure utilisé pour stocker le dépôt.
Option de conteneur de dépôt Azure (--repo-azure-container)
Conteneur de dépôt Azure.
Conteneur Azure utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés dans la racine du conteneur en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par Azure dans le conteneur.
Option de point de terminaison de dépôt Azure (--repo-azure-endpoint)
Point de terminaison du dépôt Azure.
Point d’accès utilisé pour se connecter au service blob. La valeur par défaut est généralement correcte, sauf si vous utilisez Azure Government.
Pour les configurations personnalisées ou les tests, les options repo-storage-ca-file, repo-storage-ca-path, repo-storage-host, repo-storage-port, et repo-storage-verify-tls peuvent être utiles.
Option de clé de dépôt Azure (--repo-azure-key)
Clé de dépôt Azure.
Une clé partagée ou une signature d’accès partagé, selon l’option repo-azure-key-type.
Type de clé du dépôt Azure (--repo-azure-key-type)
Type de clé du dépôt Azure.
Les types suivants sont pris en charge pour l’autorisation :
shared- Clé partagéesas- Signature d’accès partagéauto- Autorisation automatique à l’aide d’identités managées Azure
Option de style d’URI de dépôt Azure (--repo-azure-uri-style)
Style URI Azure.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôteaccount.endpoint.path- Se connecter à l’hôteendpointet préfixer le compte aux URI.
Option de sauvegarde incrémentielle par bloc (--repo-block)
Activez la sauvegarde incrémentielle par bloc.
Le mode incrémentiel par bloc permet des sauvegardes plus granulaires en divisant les fichiers en blocs pouvant être sauvegardés indépendamment. Cela permet d’économiser de l’espace dans le dépôt et peut améliorer les performances de restauration incrémentielle, car des blocs individuels peuvent être récupérés sans devoir lire entièrement le fichier depuis le dépôt.
NOTE :
L’option repo-bundle doit être activée avant que repo-block ne puisse l’être.
La taille des blocs d’un fichier est déterminée en fonction de sa taille et de son âge. En général, les fichiers plus anciens ou plus volumineux reçoivent des tailles de blocs plus grandes. Si un fichier est suffisamment ancien, il ne sera pas sauvegardé en utilisant l’incrémentation par bloc.
La sauvegarde incrémentielle par bloc est optimale lorsqu’elle est activée pour toutes les catégories de sauvegarde, y compris les sauvegardes complètes. Cela rend la sauvegarde complète légèrement plus grande, mais permet aux sauvegardes différentielles et incrémentielles ultérieures d’utiliser les cartes de blocs générées par la sauvegarde complète afin de réduire l’espace utilisé.
Option des paquets de dépôt (--repo-bundle)
Fichier du dépôt regroupés.
Regrouper les petits fichiers afin de réduire le nombre total de fichiers écrits dans le dépôt. Écrire moins de fichiers est généralement plus efficace, en particulier sur les magasins d’objets tels que S3. En outre, les fichiers vides ne sont pas stockés, sauf dans le manifeste, ce qui économise du temps et de l’espace.
Option de limite du bundle de dépôt (--repo-bundle-limit)
Limite pour les paquets de fichiers.
Limite de taille pour les fichiers inclus dans les bundles. Les fichiers dont la taille dépasse cette limite seront stockés séparément.
Les fichiers intégrés ne peuvent pas être réutilisés lors d’une reprise d’une sauvegarde, donc cette option contrôle les fichiers pouvant être repris, c’est-à-dire que des valeurs plus élevées entraînent un nombre réduit de fichiers reprises.
Option taille du bundle de dépôt (--repo-bundle-size)
Taille cible pour les paquets de fichiers.
Définit la taille cible des fichiers ajoutés à un seul lot. La taille du lot non compressé peut atteindre jusqu’à repo-bundle-size + repo-bundle-limit, donc ne définissez pas cette option à la taille maximale autorisée par votre système de fichiers.
En général, il n’est pas recommandé de définir cette option trop élevée, car les réessais devront répéter l’intégralité du lot.
Option de phrase de passe du chiffrement du dépôt (--repo-cipher-pass)
Phrase de passe du chiffrement du dépôt.
Phrase de passe utilisée pour chiffrer/déchiffrer les fichiers du dépôt.
NOTE :
Lorsqu’il est exécuté sans l’option stanza, la commande info lit les paramètres de chiffrement uniquement dans la section global. Si les paramètres de chiffrement sont configurés par stanza, exécutez la commande info avec l’option stanza pour lire une stanza chiffrée.
Type de chiffrement du dépôt (--repo-cipher-type)
Chiffrement 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 longueur de clé de 256 bits
Notez que le chiffrement est toujours effectué côté client, même si le type de dépôt (par exemple S3) prend en charge le chiffrement.
Option de bac de dépôt GCS (--repo-gcs-bucket)
Dépôt de bucket GCS.
Dépôt GCS utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par GCS dans le bucket.
Option de point de terminaison du dépôt GCS (--repo-gcs-endpoint)
Point de terminaison du dépôt GCS.
Point d’accès utilisé pour se connecter au service de stockage. Peut être mis à jour pour utiliser un serveur local GCS ou un point d’accès alternatif.
Option de clé de dépôt GCS (--repo-gcs-key)
Clé du dépôt GCS.
Une clé d’accès ou un fichier de clé de service, selon l’option repo-gcs-key-type.
Type de clé du dépôt GCS (--repo-gcs-key-type)
Type de clé du dépôt GCS.
Les types suivants sont pris en charge pour l’autorisation :
auto- Autoriser à l’aide du compte de service de l’instance.service- Compte de service à partir d’une clé stockée localement.token- À utiliser pour les tests locaux, par exemplefakegcs.
Lorsque repo-gcs-key-type=service, les identifiants seront rechargés lorsque le jeton d’authentification sera renouvelé.
Option ID du projet du dépôt GCS (--repo-gcs-user-project)
Identifiant du projet GCS.
ID du projet GCS utilisé pour déterminer la facturation des requêtes.
Option de lien dur pour le dépôt (--repo-hardlink)
Crée des liens durs entre les fichiers des sauvegardes dans le dépôt.
Activez le lien dur des fichiers dans les sauvegardes différentielles et incrémentielles vers leurs sauvegardes complètes. Cela donne l’illusion qu’à niveau système de fichiers, chaque sauvegarde est une sauvegarde complète. Faites attention toutefois, car la modification de fichiers liés par lien dur peut affecter toutes les sauvegardes de l’ensemble.
Nom obsolète : hardlink
Option hôte du dépôt (--repo-host)
Hôte du dépôt lors de l’opération à distance.
Lors de la sauvegarde et de l’archivage vers un système de fichiers monté localement, ce paramètre n’est pas requis.
Nom obsolète : backup-host
Option du fichier de l’autorité de certification hôte du dépôt (--repo-host-ca-file)
Fichier de l’autorité de certification du serveur de dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour vous connecter à l’hôte du dépôt.
Option Chemin de l’autorité de certification du dépôt (--repo-host-ca-path)
Chemin de l’autorité de certification du serveur de dépôt.
Utilisez un chemin de certificat d’autorité (CA) autre que celui par défaut du système pour établir la connexion avec l’hôte du dépôt.
Option de fichier de certificat d’hôte du dépôt (--repo-host-cert-file)
Fichier de certificat d’hôte du dépôt.
Envoyé à l’hôte du dépôt pour prouver l’identité du client.
Option de commande hôte du dépôt (--repo-host-cmd)
Hôte du dépôt commande pgBackRest.
Requis uniquement si le chemin vers la commande pgBackRest est différent sur les hôtes local et de dépôt. Si non défini, la commande de dépôt sera définie de la même manière que celle de l’hôte local.
Nom obsolète : backup-cmd
Option de configuration de l’hôte du dépôt (--repo-host-config)
Fichier de configuration du serveur de dépôt pgBackRest.
Spécifie l’emplacement du fichier de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le fichier de configuration de l’hôte du dépôt se trouve dans un emplacement différent du fichier de configuration local.
Nom obsolète : sauvegarde-config
Option de chemin d’inclusion de configuration d’hôte de dépôt (--repo-host-config-include-path)
Configuration du serveur de dépôt pgBackRest incluant le chemin.
Définit l’emplacement du chemin d’inclusion de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin d’inclusion de configuration de l’hôte du dépôt est différent du chemin d’inclusion de configuration local.
Chemin de configuration de l’hôte du dépôt (--repo-host-config-path)
Chemin de configuration du serveur de dépôt pgBackRest.
Définit l’emplacement du chemin de configuration sur l’hôte du dépôt. Cette option est nécessaire uniquement si le chemin de configuration de l’hôte du dépôt est différent du chemin de configuration local.
Option de fichier de clé hôte du dépôt (--repo-host-key-file)
Fichier de clé hôte du dépôt.
Vérifie que le certificat client a été envoyé par le propriétaire.
Option de port 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 du serveur du dépôt.
NOTE :
Lorsque repo-host-type=ssh, il n’existe pas de valeur par défaut pour repo-host-port. Dans ce cas, le port sera celui configuré pour la commande spécifiée par cmd-ssh.
Nom obsolète : backup-ssh-port
Type de protocole d’hôte de dépôt (--repo-host-type)
Type de protocole d’hôte de dépôt.
Les types de protocole suivants sont pris en charge :
ssh- Shell sécurisé.tls- Serveur TLS pgBackRest.
Option d’utilisateur hôte de dépôt (--repo-host-user)
Utilisateur hôte du dépôt lorsque repo-host est défini.
Définit l’utilisateur utilisé pour les opérations sur l’hôte du dépôt. Il est préférable que ce ne soit pas l’utilisateur postgres, mais plutôt un autre utilisateur tel que pgbackrest. Si PostgreSQL s’exécute sur l’hôte du dépôt, l’utilisateur postgres peut être ajouté au groupe pgbackrest afin d’avoir des permissions de lecture sur le dépôt sans pouvoir accidentellement le modifier.
Nom obsolète : backup-user
Option Chemin du dépôt (--repo-path)
Chemin où les sauvegardes et l’archive sont stockées.
Le dépôt est l’emplacement où pgBackRest stocke les sauvegardes et les archives des segments WAL.
Il peut être difficile de prévoir à l’avance l’espace nécessaire. La meilleure approche consiste à effectuer quelques sauvegardes, puis à noter la taille des différents types de sauvegardes (pleines, incrémentielles, différentielles) et à mesurer la quantité de WAL générée par jour. Cela vous donnera une idée générale de l’espace requis, bien que les besoins évoluent probablement au fil du temps avec l’évolution de votre base de données.
Option de rétention des archives (--repo-retention-archive)
Nombre de sauvegardes de WAL continu à 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 valeur n’est pas définie et que repo-retention-full-type est égal à count (valeur par défaut), alors l’archive à expirer sera par défaut celle correspondant à la valeur de repo-retention-full (ou repo-retention-diff) associée à repo-retention-archive-type si celle-ci est définie à full (ou diff). Cela garantira que les fichiers WAL ne seront supprimés que pour les sauvegardes déjà expirées. Si repo-retention-full-type est égal à time, alors cette valeur sera par défaut définie pour supprimer les archives antérieures à la plus ancienne sauvegarde complète conservée après avoir satisfait le paramètre repo-retention-full.
Cette option doit être définie si repo-retention-archive-type est réglé sur incr. Si l’espace disque est limité, ce paramètre, combiné à repo-retention-archive-type, peut être utilisé pour supprimer de manière agressive les segments WAL. Toutefois, cela annule la possibilité de réaliser une restauration à un instant donné à partir des sauvegardes ayant des segments WAL expirés, et n’est donc pas recommandé.
Nom obsolète : rétention-archive
Type de rétention des archives (--repo-retention-archive-type)
Type de sauvegarde pour la rétention de WAL.
Si défini sur full, pgBackRest conservera les journaux d’archive pendant le nombre de sauvegardes complètes défini par repo-retention-archive. Si défini sur diff (différentiel), pgBackRest conservera les journaux d’archive pendant le nombre de sauvegardes complètes et différentielles défini par repo-retention-archive, ce qui signifie qu’une sauvegarde complète prise en dernier sera comptée comme une sauvegarde différentielle pour l’application de la rétention du référentiel. Si défini sur incr (incrémentielle), pgBackRest conservera les journaux d’archive pendant le nombre de sauvegardes complètes, différentielles et incrémentielles défini par repo-retention-archive. Il est recommandé de ne pas modifier cette option par rapport à sa valeur par défaut, qui n’expire les WAL que conjointement à l’expiration des sauvegardes complètes.
Nom obsolète : rétention-archive-type
Option de rétention différentielle (--repo-retention-diff)
Nombre de sauvegardes différentielles à conserver.
Lorsqu’une sauvegarde différentielle expire, toutes les sauvegardes incrémentielles associées à cette sauvegarde différentielle expirent également. Si ce paramètre n’est pas défini, toutes les sauvegardes différentielles sont conservées jusqu’à l’expiration des sauvegardes complètes dont elles dépendent.
Notez que les sauvegardes complètes sont prises en compte dans le nombre de sauvegardes différentielles pour l’expiration. Cela réduit légèrement le nombre de sauvegardes différentielles à conserver dans la plupart des cas.
Nom obsolète : rétention-diff
Option de rétention complète (--repo-retention-full)
Nombre ou durée de rétention des sauvegardes complètes.
Lorsqu’une sauvegarde complète expire, toutes les sauvegardes différentielles et incrémentielles associées à cette sauvegarde complète expirent également. Si l’option n’est pas définie, un avertissement est émis. Si une rétention indéfinie est souhaitée, définissez l’option à sa valeur maximale.
Nom obsolète : rétention-full
Type d’option de rétention complète (--repo-retention-full-type)
Type de rétention pour les sauvegardes complètes.
Détermine si le paramètre repo-retention-full représente une période de temps (en jours) ou un nombre de sauvegardes complètes à conserver.
Si la valeur est définie à time, les sauvegardes complètes dont l’âge dépasse repo-retention-full seront supprimées du dépôt si au moins une autre sauvegarde est égale ou supérieure à la valeur définie par repo-retention-full. Par exemple, si repo-retention-full est égal à 30 (jours) et qu’il existe deux sauvegardes complètes : l’une âgée de 25 jours et l’autre de 35 jours, aucune sauvegarde complète ne sera expirée, car la suppression de la sauvegarde âgée de 35 jours laisserait uniquement la sauvegarde âgée de 25 jours, ce qui violerait la politique de rétention de 30 jours exigeant qu’au moins une sauvegarde ait au moins 30 jours d’âge avant qu’une sauvegarde plus ancienne ne puisse être expirée. Les archives WAL plus anciennes que la plus ancienne sauvegarde complète restante seront automatiquement expirées, sauf si repo-retention-archive-type et repo-retention-archive sont explicitement définis.
Si la valeur est définie à count, les sauvegardes complètes dont la taille dépasse repo-retention-full seront supprimées. Par exemple, si repo-retention-full est égal à 4 et qu’une cinquième sauvegarde complète est effectuée, la sauvegarde complète la plus ancienne sera supprimée afin de maintenir le nombre à 4.
Notez qu’une sauvegarde ne sera prise en compte pour la rétention qu’après avoir été correctement terminée. Par exemple, si repo-retention-full-type est count et repo-retention-full est 2, il doit y avoir 3 sauvegardes complètes avant que la plus ancienne ne soit supprimée.
Option de rétention de l’historique des sauvegardes (--repo-retention-history)
Nombre de jours d’historique de sauvegarde à conserver.
Une copie du manifeste de sauvegarde est stockée dans le chemin backup.history une fois la sauvegarde terminée. Par défaut, ces fichiers ne sont jamais supprimés, car ils sont utiles pour l’analyse de données, par exemple pour mesurer l’évolution de la taille des sauvegardes et des fichiers WAL au fil du temps.
Définissez repo-retention-history pour préciser le nombre de jours de manifestes d’historique de sauvegarde à conserver. Les sauvegardes non expirées sont toujours conservées dans l’historique des sauvegardes. Spécifiez repo-retention-history=0 pour ne conserver l’historique des sauvegardes que pour les sauvegardes non expirées.
Lorsqu’un manifeste d’historique de sauvegarde complète est expiré, tous les manifestes d’historique de sauvegardes différentielles et incrémentielles associés à cette sauvegarde complète expirent également.
Option de bac de dépôt S3 (--repo-s3-bucket)
Dépôt S3.
Dépôt S3 utilisé pour stocker le dépôt.
Les dépôts pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/, mais il est généralement préférable de préciser un préfixe, tel que /repo, afin de pouvoir également stocker les journaux et d’autres contenus générés par AWS dans le bucket.
Option de point de terminaison du dépôt S3 (--repo-s3-endpoint)
Point de terminaison du dépôt S3.
Le point de terminaison AWS doit être valide pour la région sélectionnée.
Pour les configurations personnalisées ou les tests, les options repo-storage-ca-file, repo-storage-ca-path, repo-storage-host, repo-storage-port, et repo-storage-verify-tls peuvent être utiles.
Option de clé d’accès au dépôt S3 (--repo-s3-key)
Clé d’accès au dépôt S3.
Clé AWS utilisée pour accéder à ce bucket.
Clé secrète d’accès au dépôt S3 (--repo-s3-key-secret)
Clé secrète d’accès au dépôt S3.
Clé secrète AWS utilisée pour accéder à ce bucket.
Type de clé du dépôt S3 (--repo-s3-key-type)
Type de clé pour le dépôt S3.
Les types suivants sont pris en charge :
shared- Clés partagéesauto- Récupérer automatiquement les identifiants temporairesweb-id- Récupérer automatiquement les identifiants d’identité webpod-id- Récupérer automatiquement les identifiants d’identité de pod EKSprocess- Récupérer les identifiants en exécutant un processus
Option ID de clé KMS pour dépôt S3 (--repo-s3-kms-key-id)
Clé KMS du dépôt S3.
Active le chiffrement côté serveur S3 en utilisant la clé du service de gestion des clés AWS spécifiée.
Option de commande du processus d’authentification S3 (--repo-s3-process-cmd)
Commande du processus d’authentification S3.
Commande (et arguments facultatifs) à exécuter pour récupérer les identifiants temporaires S3. Le premier élément de la liste est la commande, les éléments suivants sont passés en tant que paramètres.
Le processus doit produire un JSON contenant les champs AccessKeyId, SecretAccessKey, SessionToken et Expiration. Les identifiants seront automatiquement actualisés avant l’expiration. Voir Process Credential Provider
pour les détails du format.
Option de région du dépôt S3 (--repo-s3-region)
Région du dépôt S3.
La région AWS où le bucket a été créé.
Option Requesteur Payant pour le dépôt S3 (--repo-s3-requester-pays)
Dépôt S3 payeur de la demande.
Active le paiement par le demandeur S3.
Option de rôle du dépôt S3 (--repo-s3-role)
Rôle du dépôt S3.
Le nom du rôle AWS (pas le nom ARN complet) utilisé pour récupérer les identifiants temporaires lorsque repo-s3-key-type=auto.
Option de service de dépôt S3 (--repo-s3-service)
Service de signature S3.
Le service de signature S3 utilisé dans l’authentification SigV4. La valeur par défaut est s3 pour les points d’accès S3 standards. À définir sur s3-outposts lors de l’utilisation d’un point d’accès S3 Outposts.
Option de clé SSE du dépôt S3 (--repo-s3-sse-customer-key)
Clé SSE du client pour le dépôt S3.
Active le chiffrement côté serveur S3 en utilisant la clé cliente spécifiée.
Option de point de terminaison STS du dépôt S3 (--repo-s3-sts-host)
Point de terminaison STS du dépôt S3.
Point de terminaison STS utilisé pour récupérer des identifiants temporaires lorsque repo-s3-key-type=web-id est configuré. Définissez-le sur un point de terminaison régional (par exemple sts.us-east-1.amazonaws.com) pour utiliser STS régional, ce qui peut être nécessaire pour les régions GovCloud, Chine, ou pour réduire la latence.
Option de jeton de sécurité du dépôt S3 (--repo-s3-token)
Jeton de sécurité du dépôt S3.
Jeton de sécurité AWS utilisé avec des identifiants temporaires.
Option de style d’URI de dépôt S3 (--repo-s3-uri-style)
Style d’URI S3.
Les styles d’URI suivants sont pris en charge :
host- Se connecter à l’hôtebucket.endpoint.path- Se connecter à l’hôteendpointet préfixer les URI par le répertoire.
Option hôte du dépôt SFTP (--repo-sftp-host)
Hôte du dépôt SFTP.
Hôte SFTP contenant le dépôt.
Fingerprint de l’hôte du dépôt SFTP (--repo-sftp-host-fingerprint)
Empreinte du serveur hôte du dépôt SFTP.
La génération de l’empreinte d’hôte du dépôt SFTP doit correspondre à repo-sftp-host-key-hash-type. Générez l’empreinte via awk '{print $2}' ssh_host_xxx_key.pub | base64 -d | (md5sum or sha1sum) -b. Les clés d’hôte SSH se trouvent normalement dans le répertoire /etc/ssh.
Type d’option de vérification de la clé hôte SFTP (--repo-sftp-host-key-check-type)
Type de vérification de la clé hôte SFTP.
Les types de vérification de clé d’hôte SFTP suivants sont pris en charge :
strict- pgBackRest n’ajoutera jamais automatiquement les clés d’hôte au fichier ~/.ssh/known_hosts, et refusera de se connecter aux hôtes dont la clé d’hôte a changé ou n’est pas trouvée dans les fichiers known hosts. Cette option oblige l’utilisateur à ajouter manuellement tous les nouveaux hôtes.accept-new- pgBackRest ajoutera automatiquement les nouvelles clés d’hôte au fichier known hosts de l’utilisateur, mais n’autorisera pas les connexions aux hôtes dont la clé d’hôte a changé.fingerprint- pgBackRest vérifiera la clé d’hôte contre l’empreinte spécifiée par l’optionrepo-sftp-host-fingerprint.none- aucune vérification de clé d’hôte ne sera effectuée.
Type de hachage de la clé hôte du dépôt SFTP (--repo-sftp-host-key-hash-type)
Type de hachage de la clé d’hôte du dépôt SFTP.
Type de hachage de la clé hôte du dépôt SFTP. Déclare le type de hachage à utiliser pour calculer le hachage de la clé hôte du système distant au démarrage SSH. Les versions plus récentes de libssh2 prennent en charge sha256 en plus de md5 et sha1.
Option de port hôte du dépôt SFTP (--repo-sftp-host-port)
Port hôte du dépôt SFTP.
Port hôte du dépôt SFTP.
Option utilisateur hôte dépôt SFTP (--repo-sftp-host-user)
Utilisateur hôte du dépôt SFTP.
Utilisateur sur l’hôte utilisé pour stocker le dépôt.
Option fichier Hôtes SFTP connus (--repo-sftp-known-host)
Fichier d’hôtes SFTP connus.
Fichier known hosts à consulter pour rechercher une correspondance avec un hôte SFTP lors de l’authentification. Si non spécifié, pgBackRest recherchera par défaut dans ~/.ssh/known_hosts, ~/.ssh/known_hosts2, /etc/ssh/ssh_known_hosts et /etc/ssh/ssh_known_hosts2. Si configuré avec un ou plusieurs chemins de fichier, pgBackRest recherchera dans ces fichiers une correspondance. Les chemins de fichier doivent être complets ou commencer par un tilde. L’option repo-sftp-known-host peut être spécifiée plusieurs fois pour indiquer plusieurs fichiers known hosts à consulter. Pour utiliser la vérification du fichier known hosts, l’option repo-sftp-host-fingerprint ne doit pas être définie. Voir également l’option repo-sftp-host-check-type.
Option fichier de clé privée du dépôt SFTP (--repo-sftp-private-key-file)
Fichier de clé privée SFTP.
Fichier de clé privée SFTP utilisé pour l’authentification.
Option de phrase de passe de clé privée du dépôt SFTP (--repo-sftp-private-key-passphrase)
Phrase de passe de la clé privée SFTP.
Phrase de passe utilisée pour accéder à la clé privée. Il s’agit d’une fonctionnalité facultative lors de la création d’une paire de clés SSH publique/privée.
Option de fichier de clé publique du dépôt SFTP (--repo-sftp-public-key-file)
Fichier de clé publique SFTP.
Fichier de clé publique SFTP utilisé pour l’authentification. Facultatif si compilé contre OpenSSL, obligatoire si compilé contre une autre bibliothèque.
Option du fichier CA du dépôt de stockage (--repo-storage-ca-file)
Fichier de certificat d’autorité de certification pour le dépôt.
Utilisez un fichier CA autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-file, repo-s3-ca-file
Option de chemin du certificat CA TLS pour le dépôt (--repo-storage-ca-path)
Chemin du certificat d’autorité de certification du dépôt.
Utilisez un chemin de certificat d’autorité de certification (CA) autre que celui par défaut du système pour les certificats du stockage (par exemple, S3, Azure).
Noms obsolètes : repo-azure-ca-path, repo-s3-ca-path
Option hôte de stockage du dépôt (--repo-storage-host)
Hôte de stockage du dépôt.
Se connecter à un hôte autre que le point de terminaison de stockage (par exemple S3, Azure). Cela est généralement utilisé pour les tests.
Noms obsolètes : repo-azure-host, repo-s3-host
Option de port du stockage du dépôt (--repo-storage-port)
Port du stockage du dépôt.
Port à utiliser lors de la connexion au point de terminaison du stockage (par exemple S3, Azure) ou à l’hôte (le cas échéant).
Noms obsolètes : repo-azure-port, repo-s3-port
Option d’étiquette de stockage du dépôt (--repo-storage-tag)
Étiquette(s) de stockage du dépôt.
Spécifiez les balises à ajouter aux objets lorsque le dépôt est un magasin d’objets (par exemple, S3). L’option peut être répétée pour ajouter plusieurs balises.
Il n’existe aucune fonctionnalité dans pgBackRest permettant de modifier ces balises ; veillez donc à les définir correctement avant d’exécuter stanza-create afin d’assurer une cohérence des balises dans l’ensemble du dépôt.
Option de taille de morceau de chargement du dépôt (--repo-storage-upload-chunk-size)
Taille du morceau de chargement du dépôt.
Les magasins d’objets tels que S3 permettent de télécharger des fichiers par morceaux lorsque le fichier est trop volumineux pour être stocké en mémoire. Même si le fichier peut être stocké en mémoire, il est plus efficace en mémoire de limiter la quantité de mémoire utilisée pour les téléchargements.
Une taille de morceau plus élevée entraîne généralement de meilleures performances, car elle réduit le nombre de requêtes de téléchargement et permet de télécharger plus de fichiers en une seule requête plutôt qu’en morceaux. Le désavantage est que la consommation mémoire sera plus élevée, et comme la mémoire tampon de morceau doit être allouée par processus, des valeurs plus élevées de process-max entraînent une consommation mémoire globale plus importante.
Notez que les tailles de morceau valides varient selon le type de stockage et la plateforme. Par exemple, AWS S3 impose une taille minimale de morceau de 5MiB. La terminologie relative à la taille du morceau varie selon le type de stockage ; utilisez donc « part size » pour AWS S3, « chunk size » pour GCS et « block size » pour Azure lorsque vous recherchez les valeurs minimales ou maximales.
Si un fichier est plus grand que 1GiB (la taille maximale que PostgreSQL crée par défaut), la taille de tranche sera augmentée progressivement jusqu’à la valeur maximale autorisée afin de terminer le téléchargement du fichier.
Option de vérification du certificat de stockage du dépôt (--repo-storage-verify-tls)
Vérification du certificat du dépôt de stockage.
Cette option permet d’activer/désactiver la vérification du certificat TLS du serveur de stockage (par exemple, S3, Azure). La désactivation ne doit être utilisée que pour des tests ou d’autres scénarios où un certificat a été auto-signé.
Noms obsolètes : repo-azure-verify-tls, repo-s3-verify-ssl, repo-s3-verify-tls
Option de lien symbolique du dépôt (--repo-symlink)
Créez des liens symboliques dans le dépôt.
Active la création du latest et des liens symboliques de tablespace. Ces liens symboliques sont particulièrement utiles lors de la récupération in situ à l’aide de captures instantanées dans le dépôt, ce qui constitue un cas d’utilisation peu courant.
Bien que cette fonctionnalité soit probablement inutile pour la grande majorité des utilisateurs, elle reste activée par défaut pour des raisons de compatibilité avec les anciennes versions. Toutefois, il peut être utile de désactiver les liens symboliques pour les stockages de type Posix qui ne les prennent pas en charge.
Heure cible pour l’option dépôt (--repo-target-time)
Heure cible pour le dépôt.
Le temps cible définit l’instant auquel les commandes lisent un dépôt sur un stockage versionné. Cela permet à la commande de lire le dépôt tel qu’il était à un instant donné, afin de récupérer des données supprimées ou corrompues par une erreur utilisateur ou un logiciel malveillant.
Le stockage versionné est pris en charge par S3, GCS et Azure, mais il est généralement désactivé par défaut. En plus d’activer la versioning, il peut être utile d’activer le verrouillage d’objets pour S3, ou la suppression progressive pour GCS ou Azure.
Lorsque l’option repo-target-time est spécifiée, l’option repo doit également être fournie. Il est probable que tous les types de dépôt ne prennent pas en charge la versionning, et il est généralement préférable de cibler un seul dépôt pour la récupération.
Notez que les comparaisons avec l’horodatage de stockage sont <= à l’horodatage fourni et que les millisecondes sont tronquées de l’horodatage lorsqu’elles sont fournies.
Option de type de dépôt (--repo-type)
Type de stockage utilisé pour le dépôt.
Les types de dépôt suivants sont pris en charge :
azure- Service de stockage Blob Azurecifs- Commeposix, mais désactive les liens et les fsyncs de répertoiregcs- Google Cloud Storageposix- Systèmes de fichiers conformes à Posixs3- AWS Simple Storage Servicesftp- Protocole de transfert de fichiers sécurisé
Lorsqu’un montage NFS est utilisé comme dépôt posix, les mêmes règles s’appliquent à pgBackRest qu’indiquées dans la documentation PostgreSQL : Création d’un cluster de base de données - Systèmes de fichiers
.
Options de restauration
La section restore définit les paramètres utilisés pour la restauration des sauvegardes.
Option Mode archive (--archive-mode)
Conserver ou désactiver l’archivage sur le cluster restauré.
Cette option permet de conserver ou de désactiver l’archivage sur un cluster restauré. Cela est utile lorsque le cluster doit être promu pour effectuer certaines opérations, mais n’est pas destiné à devenir le nouveau principal. Dans ce cas, il n’est pas recommandé d’envoyer les WAL depuis le cluster vers le dépôt.
Les modes suivants sont pris en charge :
off- désactiver l’archivage en définissantarchive_mode=off.preserve- conserver le paramètrearchive_modeactuel.
NOTE : Cette option n’est pas disponible sous PostgreSQL < 12.
Option d’exclusion de base de données (--db-exclude)
Restauration en excluant les bases de données spécifiées.
Les bases de données exclues seront restaurées sous forme de fichiers creux, initialisés à zéro, afin de économiser de l’espace, tout en permettant à PostgreSQL de réaliser la récupération. Après la récupération, ces bases de données ne seront pas accessibles, mais pourront être supprimées à l’aide de la commande drop database. L’option --db-exclude peut être spécifiée plusieurs fois afin de préciser plusieurs bases de données à exclure.
Lorsqu’il est utilisé en combinaison avec l’option --db-include, --db-exclude ne s’applique qu’aux bases de données système standard (template0, template1, et postgres).
Option base de données incluse (--db-include)
Restauration uniquement des bases de données spécifiées.
Cette fonctionnalité permet de ne restaurer que les bases de données sélectionnées. Les bases de données non spécifiquement incluses seront restaurées sous forme de fichiers creux, initialisés à zéro, afin de sauvegarder de l’espace, tout en permettant à PostgreSQL de réaliser la récupération. Après la récupération, les bases de données non incluses ne seront pas accessibles, mais peuvent être supprimées à l’aide de la commande drop database.
NOTE :
Les bases de données intégrées (template0, template1 et postgres) sont toujours restaurées, sauf exclusion explicite.
L’option --db-include peut être passée plusieurs fois pour spécifier plus d’une base de données à inclure.
Voir Restauration de bases de données sélectionnées pour plus d’informations et de précautions.
Lier toutes les options (--link-all)
Restaurez tous les liens symboliques.
Par défaut, les répertoires et fichiers symboliques sont restaurés en tant que répertoires et fichiers normaux dans $PGDATA. Cela est dû au fait qu’il peut ne pas être sécurisé de restaurer les liens symboliques vers leurs destinations d’origine sur un système différent de celui où la sauvegarde d’origine a été effectuée. Cette option restaure tous les liens symboliques exactement comme ils étaient sur le système d’origine où la sauvegarde a été effectuée.
Option de carte de lien (--link-map)
Modifier la destination d’un lien symbolique.
Permet de modifier le fichier ou le chemin de destination d’un lien symbolique lors d’une restauration. Cela est utile pour restaurer sur des systèmes ayant une disposition de stockage différente de celle du système d’origine où la sauvegarde a été générée.
Option de récupération (--recovery-option)
Définissez une option dans postgresql.auto.conf ou recovery.conf.
Consultez Configuration du serveur
pour obtenir les détails sur les options postgresql.auto.conf ou recovery.conf (assurez-vous de sélectionner votre version de PostgreSQL). Cette option peut être utilisée plusieurs fois.
Pour PostgreSQL >= 12, les options seront écrites dans postgresql.auto.conf. Pour toutes les autres versions, les options seront écrites dans recovery.conf.
NOTE :
L’option restore_command sera générée automatiquement, mais peut être remplacée par cette option. Prenez garde à spécifier votre propre restore_command, car pgBackRest est conçu pour gérer cela à votre place. Les options de récupération cible (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.
Comme pgBackRest ne démarre pas PostgreSQL après avoir écrit le fichier postgresql.auto.conf ou recovery.conf, il est toujours possible d’éditionner/vérifier postgresql.auto.conf ou recovery.conf avant de redémarrer manuellement.
Option de carte des espaces de table (--tablespace-map)
Restaurez un tablespace dans le répertoire spécifié.
Déplace un tablespace vers un nouvel emplacement pendant la restauration. Cela est utile lorsque les emplacements des tablespaces ne sont pas identiques sur un réplica, ou qu’un système mis à jour dispose de points de montage différents.
Les emplacements des tablespaces ne sont pas stockés dans pg_tablespace, aussi peut-on les déplacer sans risque. Toutefois, déplacer un tablespace vers data_directory n’est pas recommandé et peut entraîner des problèmes. Pour en savoir plus sur le déplacement des tablespaces, http://www.databasesoup.com/2013/11/moving-tablespaces.html
constitue une bonne ressource.
Option de mappage de tous les espaces de tableaux (--tablespace-map-all)
Restaurez tous les tablespace dans le répertoire spécifié.
Les espaces de table sont restaurés dans leurs emplacements d’origine par défaut. Ce comportement peut être modifié pour chaque espace de table grâce à l’option tablespace-map, mais il peut parfois être préférable de rediriger tous les espaces de table vers un nouveau répertoire d’un coup. Cela est particulièrement utile pour les systèmes de développement ou de préproduction qui peuvent ne pas avoir la même disposition de stockage que le système d’origine où la sauvegarde a été générée.
Le chemin spécifié sera le chemin parent utilisé pour créer tous les espaces de table dans la sauvegarde.
AVERTISSEMENT :
Les espaces de table créés après le début de la sauvegarde ne seront pas mappés. Effectuez une nouvelle sauvegarde après la création d’un espace de table si le mappage est requis.
Options serveur
La section server définit les options utilisées pour configurer le serveur TLS.
Option d’adresse serveur TLS (--tls-server-address)
Adresse du serveur TLS.
Adresse IP sur laquelle le serveur écoute les requêtes clients.
Option Clients autorisés du serveur TLS (--tls-server-auth)
Clients autorisés du serveur TLS.
Les clients sont autorisés sur le serveur en vérifiant leur certificat et en comparant leur CN (Nom commun) au moyen d’une liste configurée sur le serveur via l’option tls-server-auth.
Un client CN peut être autorisé pour autant de stanzas que nécessaire en fournissant une liste séparée par des virgules à l’option tls-server-auth ou pour toutes les stanzas en spécifiant tls-server-auth=client-cn=*. Les caractères génériques ne peuvent pas être utilisés pour le CN du client.
Option Autorités de certification du serveur TLS (--tls-server-ca-file)
Autorités de certification du certificat serveur TLS.
Vérifie que les certificats client sont signés par une autorité de certification de confiance.
Option de certificat serveur TLS (--tls-server-cert-file)
Fichier de certificat serveur TLS.
Envoyé au client pour indiquer l’identité du serveur.
Option de clé de serveur TLS (--tls-server-key-file)
Fichier de clé du serveur TLS.
Vérifie que le certificat serveur a été envoyé par son propriétaire.
Option de port serveur TLS (--tls-server-port)
Port du serveur TLS.
Port sur lequel le serveur écoute les requêtes clients.
Options de stanza
Un stanza définit la configuration de sauvegarde pour un cluster de base de données PostgreSQL spécifique. La section stanza doit définir le chemin du cluster de base de données et l’hôte/utilisateur si le cluster de base de données est distant. En outre, toute section de configuration globale peut être remplacée afin de définir des paramètres spécifiques au stanza.
Indexation : Toutes les options pg- sont indexées afin de permettre la configuration de plusieurs hôtes PostgreSQL. Par exemple, un hôte principal unique est configuré à l’aide des options pg1-path, pg1-port, etc. Si un serveur de repli est configuré, indexez les options pg- sur l’hôte du dépôt sous la forme pg2- (par exemple, pg2-host, pg2-path, etc.).
Option base de données PostgreSQL (--pg-database)
Base de données PostgreSQL.
Le nom de la base de données utilisé lors de la connexion à PostgreSQL. La valeur par défaut est généralement la meilleure option, mais certaines installations peuvent ne pas contenir cette base de données.
Notez que, pour des raisons historiques, le paramétrage de la variable d’environnement PGDATABASE sera ignoré.
Option Hôte PostgreSQL (--pg-host)
Hôte PostgreSQL pour une opération à distance.
Utilisé pour les sauvegardes où l’hôte PostgreSQL est différent de l’hôte du dépôt.
Nom obsolète : db-host
Option Fichier de l’Autorité de certification du serveur PostgreSQL (--pg-host-ca-file)
Fichier de l’autorité de certification du serveur PostgreSQL.
Utilisez un fichier CA autre que celui par défaut du système pour vous connecter à l’hôte PostgreSQL.
Option Chemin de l’Autorité de certification du serveur PostgreSQL (--pg-host-ca-path)
Chemin de l’autorité de certification du serveur PostgreSQL.
Utilisez un chemin de certificat d’autorité de certification (CA) autre que celui par défaut du système pour établir la connexion avec l’hôte PostgreSQL.
Option Fichier de certificat d’hôte PostgreSQL (--pg-host-cert-file)
Fichier de certificat d’hôte PostgreSQL.
Envoyé à l’hôte PostgreSQL pour prouver l’identité du client.
Option de commande hôte PostgreSQL (--pg-host-cmd)
Hôte PostgreSQL : commande pgBackRest.
Requis uniquement si le chemin vers la commande pgBackRest est différent sur les hôtes locaux et PostgreSQL. Si ce n’est pas défini, la commande sur l’hôte PostgreSQL sera définie de la même manière que celle sur l’hôte local.
Nom obsolète : db-cmd
Option de configuration hôte PostgreSQL (--pg-host-config)
Fichier de configuration du serveur de base de données pgBackRest.
Spécifie l’emplacement du fichier de configuration sur l’hôte PostgreSQL. Cette option est nécessaire uniquement si le fichier de configuration PostgreSQL est situé à un emplacement différent du fichier de configuration local.
Nom obsolète : db-config
Chemin d’inclusion de la configuration hôte PostgreSQL (--pg-host-config-include-path)
Configuration de l’hôte de base de données pgBackRest incluant le chemin.
Définit l’emplacement du chemin d’inclusion de configuration sur l’hôte PostgreSQL. Cette option est nécessaire uniquement si le chemin d’inclusion de configuration PostgreSQL se trouve dans un emplacement différent du chemin d’inclusion de configuration local.
Option de chemin de configuration de l’hôte PostgreSQL (--pg-host-config-path)
Chemin de configuration de l’hôte de base de données pgBackRest.
Définit l’emplacement du chemin de configuration sur l’hôte PostgreSQL. Cette option est nécessaire uniquement si le chemin de configuration PostgreSQL se trouve dans un emplacement différent du chemin de configuration local.
Option fichier clé hôte PostgreSQL (--pg-host-key-file)
Fichier de clé hôte PostgreSQL.
Vérifie que le certificat client a été envoyé par le propriétaire.
Option Port hôte PostgreSQL (--pg-host-port)
Port de l’hôte PostgreSQL lorsque pg-host est défini.
Utilisez cette option pour spécifier un port non par défaut pour le protocole d’hôte PostgreSQL.
NOTE :
Lorsque pg-host-type=ssh, il n’existe pas de valeur par défaut pour pg-host-port. Dans ce cas, le port sera celui configuré pour la commande spécifiée par cmd-ssh.
Nom obsolète : db-ssh-port
Type de protocole d’hôte PostgreSQL (--pg-host-type)
Type de protocole hôte PostgreSQL.
Les types de protocole suivants sont pris en charge :
ssh- Shell sécurisé.tls- Serveur TLS pgBackRest.
Option utilisateur hôte PostgreSQL (--pg-host-user)
Utilisateur de connexion au serveur PostgreSQL lorsqu’pg-host est défini.
Cet utilisateur possédera également le processus pgBackRest distant et initiera les connexions à PostgreSQL. Pour que cela fonctionne correctement, l’utilisateur doit être le propriétaire du cluster de base de données PostgreSQL, ce qui correspond généralement à postgres, la valeur par défaut.
Nom obsolète : db-user
Option Chemin PostgreSQL (--pg-path)
Répertoire de données PostgreSQL.
Il doit être identique à la valeur data_directory rapportée par PostgreSQL. Même si cette valeur peut être lue à divers endroits, il est prudent de la définir afin de garantir sa disponibilité en cas de restauration ou de sauvegarde hors ligne.
L’option pg-path est vérifiée par rapport à la valeur rapportée par PostgreSQL à chaque sauvegarde en ligne, elle doit donc toujours être à jour.
Nom obsolète : db-path
Option de port PostgreSQL (--pg-port)
Port PostgreSQL.
Port sur lequel PostgreSQL est en cours d’exécution. Ce paramètre n’a généralement pas besoin d’être spécifié, car la plupart des clusters PostgreSQL s’exécutent sur le port par défaut.
Nom obsolète : db-port
Option Chemin du socket PostgreSQL (--pg-socket-path)
Chemin du socket Unix de PostgreSQL.
Répertoire du socket Unix spécifié lors du démarrage de PostgreSQL. pgBackRest recherche automatiquement dans l’emplacement standard de votre système d’exploitation, aussi il est généralement inutile de préciser ce paramètre, sauf si le répertoire du socket a été explicitement modifié à l’aide du paramètre unix_socket_directories dans postgresql.conf.
Nom obsolète : db-socket-path
Option utilisateur de base de données PostgreSQL (--pg-user)
Utilisateur de base de données PostgreSQL.
Le nom d’utilisateur de la base de données utilisé lors de la connexion à PostgreSQL. Si non spécifié, pgBackRest se connectera avec l’utilisateur système local ou PGUSER.
6 - Notes de version
Introduction
Les numéros de version de pgBackRest se composent de deux parties : majeure et mineure. Une version majeure peut rompre la compatibilité avec la version majeure précédente, mais les versions v2 sont entièrement compatibles avec les dépôts v1 et acceptent toutes les options v1. Les versions mineures peuvent inclure des correctifs et des fonctionnalités, mais ne modifient pas le format du dépôt et s’efforcent d’éviter tout changement aux options et aux noms. La documentation de la version v1 est disponible ici . Les notes relatives à une version peuvent également contenir des « Notes supplémentaires », mais les modifications dans cette section n’ont d’impact direct que sur la documentation ou le jeu de tests et n’affectent pas le codebase de pgBackRest.
Version stable actuelle
Notes de version v2.59.1
Prise en charge de PostgreSQL 19beta3
Sortie le 17 août 2026
Correctifs de bogues :
- Corriger le blocage lorsque la taille du tampon de morceau est inférieure à celle du tampon d’entrée. (Révisé par Andrew Pogrebnoi, Douglas J Hunley. Signalement par crajac66.)
- Comparer une étiquette de sauvegarde nouvelle uniquement avec son propre jeu de sauvegardes complètes. (Révisé par Douglas J Hunley. Signalement par Anton Glushakov.)
- Corriger les archives sources générées par GitHub qui manquent des fichiers nécessaires à la compilation. (Signalement par aardvarkzed.)
Fonctionnalités :
- Prise en charge de PostgreSQL 19beta3. (Contribution de Lardière Sébastien. Révisé par David Steele.)
Améliorations de la documentation :
- Document exception pour les points dans les noms de bucket S3 lorsque
repo-s3-uri-style=path. - Supprimez la configuration explicite
hot_standbydu guide utilisateur.
Versions stables
Notes de version v2.59.0
Prise en charge de PostgreSQL 19beta2
Sortie le 20 juillet 2026
NOTE AUX PAQUETEURS : Un nouveau paquet source est disponible, qui simplifie le processus de compilation en fournissant une documentation HTML prégénérée, une page de manuel et du code. Ce paquet est joint à chaque version comme un élément et porte le nom pgbackrest-{version}.tar.gz. Consultez README.md dans le paquet pour plus de détails. Veuillez utiliser ce nouveau paquet source afin d’éviter les outils supplémentaires nécessaires à la génération du code dans les versions futures. Consultez Nouveau paquet source
pour plus d’informations. NOTE AUX PAQUETEURS : Une dépendance optionnelle supplémentaire est désormais requise : libsystemd. NOTE IMPORTANTE : À compter de cette version, seuls les commandes restore peuvent être exécutées en tant que root par défaut. Utilisez allow-root pour exécuter d’autres commandes en tant que root (ce qui n’est toutefois pas recommandé).
Correctifs de bogues :
- Corriger la suppression par
expired’une sauvegarde en cours sur un autre hôte. (Révisé par Douglas J Hunley. Signalé par Dmitrii.) - Corriger la non-application de
archive-push-queue-maxlorsqu’un fichier WAL provoque une erreur. (Révisé par Stefan Fercot. Signalé par vut12.) - Corriger l’échec asynchrone de
archive-getpendant une récupération traversant un changement de timeline. (Révisé par Douglas J Hunley. Signalé par Jimmy Yih.) - Corriger un possible dépassement de tampon dans le module d’erreur. (Corrigé par Christophe Pettus. Révisé par David Steele.)
- Corriger une utilisation après libération du client du protocole parallèle. (Révisé par Douglas J Hunley. Signalé par Georgy Shelkovy.)
- Corriger un dépassement de tas lorsqu’une option pg est définie sans pg1. (Révisé par Douglas J Hunley. Signalé par Naveen.)
Fonctionnalités :
- Prise en charge de PostgreSQL 19beta2. (Révisé par Stefan Fercot.)
- Ajout de l’option
archive-expire-beforepour nettoyer l’archive WAL. (Contribué par Stefan Fercot. Révisé par David Steele.) - Ajout de la suppression par lots pour le stockage Azure. (Révisé par Douglas J Hunley, Crispy.)
- Ajout de la prise en charge des S3 Outposts. (Contribué par Shiva Kumar Ambigi. Révisé par David Steele, Roberto Mello.)
- Ajout de l’authentification par processus S3. (Révisé par Andrew Charlton. Suggéré par Andrew Charlton.)
Améliorations :
- Reconnecter le stockage SFTP après que le serveur a fermé une connexion inactif. (Révisé par Stefan Fercot. Proposé par mustafa0x, tisserat.)
- Ajouter le cache utilisateur/groupe pour une construction plus rapide du manifeste. (Contribué par Gunnar Lindholm. Révisé par David Steele.)
- Ajouter la progression de sauvegarde par répertoire dans la sortie de la commande
info. (Contribué par Will Morland. Révisé par David Steele, Stefan Fercot.) - Ajouter des vérifications
backup.infoà la commandeverify. (Contribué par Denis Garsh. Révisé par David Steele, Douglas J Hunley.) - Permettre la configuration du point de terminaison S3 STS. (Contribué par Simon Gratton. Révisé par David Steele.)
- Ajouter
archive-push-batch-sizepour limiter la quantité de WAL envoyée par exécution asynchrone. (Révisé par Stefan Fercot.) - Quitter l’opération asynchrone
archive-pushà la première erreur. (Révisé par Stefan Fercot. Proposé par Lardière Sébastien.) - Renforcer l’analyse des réponses HTTP chunkées. (Contribué par Shubham. Révisé par David Steele.)
- Erreur lors de l’exécution en tant que root sauf si
allow-rootest activé. (Révisé par Douglas J Hunley.) - Moins de recherches binaires lors de la construction du manifeste. (Contribué par Gunnar Lindholm. Révisé par David Steele.)
- Améliorer les performances de recherche lors d’une restauration incrémentielle par bloc. (Révisé par David Christensen, Douglas J Hunley.)
- Regrouper les fichiers de sauvegarde dans l’ordre plutôt que de rechercher un meilleur ajustement. (Révisé par Stefan Fercot.)
- Signaler l’erreur sous-jacente lorsqu’une requête échoue à se terminer. (Révisé par Andrew Pogrebnoi. Suggéré par Marco Fontana.)
- Signaler l’erreur réelle lorsqu’une requête de crédentials S3 échoue. (Révisé par Douglas J Hunley. Suggéré par Mitchell Grice.)
- Signaler les erreurs de chemin de stockage temporaire
archive-pushdans le journal PostgreSQL. (Révisé par Douglas J Hunley. Suggéré par Don Seiler.) - Indication que pgBackRest pourrait être obsolète lorsqu’une version n’est plus prise en charge.
- Ajouter l’intégration avec systemd notify. (Contribué par Andrew Jackson. Révisé par David Steele.)
- Supprimer les erreurs
unused parameterdes sondes du compilateur meson. (Contribution de Jörg Plate. Révisé par David Steele.) - C11 est désormais la norme C minimale. (Révisé par Mohammad Ali Nazir Kosar.)
Améliorations de la documentation :
- Rendre l’option
stanzainterne pour les commandesrepo-*. (Révisé par Stefan Fercot.) - Documenter le fait que les paramètres de chiffrement sont lus à partir de la section globale. (Révisé par Stefan Fercot. Suggéré par Ron Johnson.)
- Documenter que
expire-autoutilise la configuration de la commandebackup. (Révisé par Stefan Fercot. Suggéré par Lardière Sébastien.) - Documenter l’ajustement de la directive
sude logrotate pour un utilisateur dédié. (Révisé par Douglas J Hunley. Suggéré par lkanbus.) - Documenter que les commentaires se terminant à la fin de ligne ne sont pas pris en charge dans les fichiers de configuration. (Révisé par Douglas J Hunley. Suggéré par Alex Richman.)
Améliorations de la suite de tests :
- Corriger les conflits de groupes dans les conteneurs CI Alpine. (Contribué par Artur Zakirov. Revu par David Steele.)
Notes de version v2.58.0
Améliorations du stockage objet
Sortie le 19 janvier 2026
AVERTISSEMENT IMPORTANT : Les valeurs minimales de l’option repo-storage-upload-chunk-size ont augmenté. Elles correspondent désormais au minimum autorisé par les fournisseurs.
Correctifs de bogues :
- Corriger un blocage dû à la journalisation dans un gestionnaire de signal. (Correctif apporté par Maxim Michkov. Revu par David Steele.)
Fonctionnalités :
- Prise en charge HTTP pour S3, GCS et Azure. (Contribué par Will Morland. Revu par David Steele.)
- Permettre l’expiration de la sauvegarde complète la plus ancienne, indépendamment de la rétention actuelle. (Contribué par Stefan Fercot. Revu par David Steele. Suggéré par Ron Johnson.)
- Prise en charge des identités gérées Azure. (Contribué par Moiz Ibrar, Matthew Mols. Revu par David Steele.)
- Prise en charge expérimentale de l’identité de pod S3 EKS. (Contribué par Pierre BOUTELOUP. Revu par David Steele.)
- Permettre la configuration des suites de chiffrement TLS. (Contribué par Gunnar “Nick” Bluth. Revu par David Steele.)
- Permettre la définition de la priorité du processus. (Revu par Douglas J Hunley.)
Améliorations :
- Autoriser les points dans les noms de bucket S3 lors de l’utilisation d’URI en style chemin. (Contribué par Joakim Hindersson. Revu par David Steele.)
- Exiger TLS >= 1.2 sauf si la vérification est désactivée. (Revu par Douglas J Hunley, Gunnar “Nick” Bluth.)
- Ajuster dynamiquement la taille des morceaux S3/GCS/Azure pour les téléchargements volumineux. (Revu par Douglas J Hunley. Suggéré par Timothée Peignier.)
- Optimiser la taille des morceaux S3/GCS/Azure pour les petits fichiers. (Revu par Douglas J Hunley.)
- Supprimer le support de PostgreSQL
9.5. (Revu par Douglas J Hunley.) - Améliorer la journalisation de la valeur par défaut pour les options ayant une dépendance non résolue. (Revu par Stefan Fercot.)
Améliorations de la documentation :
- Supprimer la configuration explicite
max_wal_senders/wal_leveldu guide utilisateur. (Suggéré par Jamie Nguyen.) - Préciser que le regroupement est utile pour les systèmes de fichiers à grandes tailles de bloc. (Suggéré par Ron Johnson.)
Notes de version v2.57.0
Supprimer les liens symboliques du dépôt
Sortie le 18 octobre 2025
Correctifs de bogues :
- Décongestionner les délais d’attente HTTP/TLS/socket. (Révisé par David Christensen.)
- Corriger un éventuel plantage dans le message d’erreur de somme de contrôle de page. (Corrigé par Zsolt Parragi. Révisé par David Steele.)
Fonctionnalités :
- Ajouter l’option
repo-symlinkpour supprimer la création des liens symboliques du dépôt. (Révisé par Douglas J Hunley. Proposé par Ron Johnson.)
Améliorations :
- Ajouter des tentatives HTTP pour les erreurs 408 et 429. (Révisé par David Christensen.)
Notes de version v2.56.0
Améliorations des informations de progression
Sortie le 21 juillet 2025
Correctifs de bogues :
- Corriger le problème d’expiration à la demande lorsque aucune sauvegarde n’est présente dans un dépôt. (Révisé par Stefan Fercot. Signalement par Anup Gupta.)
Fonctionnalités :
- Ajouter la progression de la restauration à la sortie de la commande
info. (Contribué par Denis Garsh, Maxim Michkov. Revu par David Steele.) - Ajouter le niveau de détail uniquement progression pour la sortie de la commande
info. (Contribué par Denis Garsh. Revu par David Steele, Stefan Fercot.)
Améliorations :
- Réessayer les lectures échouées sur les magasins d’objets. (Révisé par David Christensen.)
- Corriger les valeurs par défaut dans l’aide en ligne de commande. (Révisé par David Christensen, Chris Bandy.)
Améliorations de la documentation :
- Décrivez les valeurs d’option discrètes sous forme de liste lorsque cela est approprié. (Contribué par Anton Kurochkin. Revu par David Steele.)
- Corrigez « inférieur à » dans la sortie d’aide pour l’option
archive-mode. (Contribué par Anton Kurochkin. Revu par David Steele.)
Notes de version v2.55.1
Correctifs de bogues
Sortie le 5 mai 2025
Correctifs de bogues :
- Annuler « calculer le content-md5 sur S3 uniquement lorsqu’il est nécessaire ». (Révisé par David Christensen. Signalement par Frank Brendel.)
- Corriger la vérification des bornes inférieures pour les clés d’option. (Révisé par David Christensen, Wolfgang Walther. Signalement par Wolfgang Walther.)
Notes de version v2.55.0
Améliorations de vérification et prise en charge de PostgreSQL 18
Sortie le 21 avril 2025
Correctifs de bogues :
- Corriger le problème de restauration incrémentielle par bloc sur un dépôt non par défaut. (Révisé par David Christensen, Aleksander Łukasz. Signalement par Aleksander Łukasz.)
- Ne pas définir
recovery_target_timeline=currentpour PostgreSQL < 12. (Révisé par Stefan Fercot.) - Corriger la journalisation de la plage d’archives expirées. (Révisé par Stefan Fercot. Signalement par Aleš Zelený.)
- Corriger le rapport d’erreur pour les requêtes sans résultat. (Révisé par Stefan Fercot. Signalement par Susantha Bathige.)
Fonctionnalités :
- Vérifier le timeline cible de la récupération. (Révisé par Stefan Fercot.)
- Permettre la vérification d’une sauvegarde spécifiée. (Contribué par Maxim Michkov. Révisé par David Steele.)
- Ajouter le support du paiement des frais S3/GCS. (Contribué par Timothée Peignier. Révisé par David Steele.)
- Prise en charge de PostgreSQL 18. (Révisé par Stefan Fercot.)
- Permettre les connexions à PostgreSQL via des sockets de domaine abstraits. (Révisé par Chris Bandy. Suggéré par Chris Bandy.)
- Ajouter une sortie numérique à la commande
version. (Contribué par Stefan Fercot. Révisé par David Steele.)
Améliorations :
- Autoriser la commande de sauvegarde à fonctionner sur des dépôts distants. (Révisé par Stefan Fercot.)
- Utiliser lz4 pour la compression du protocole. (Révisé par Stefan Fercot.)
- Calculer
content-md5sur S3 uniquement lorsqu’il est nécessaire. (Révisé par David Christensen.) - Afficher un avertissement lorsque la valeur d’une option à plusieurs clés est remplacée. (Révisé par David Christensen, Stefan Fercot.)
- Ajouter un journal détaillé pour le chemin d’archive expiré. (Contribué par Stefan Fercot. Révisé par David Steele.)
- Supprimer le support de PostgreSQL
9.4. (Révisé par Stefan Fercot.) - Supprimer la construction autoconf/make. (Révisé par David Christensen.)
Améliorations de la documentation :
- Corriger la documentation concernant la spécification de plusieurs stanzas avec
tls-server-auth. (Révisé par David Christensen, Stefan Fercot. Proposé par Terry MacAndrew.) - Préciser la durée de validité des sauvegardes incrémentielles. (Révisé par Stefan Fercot.)
- Préciser la condition de correspondance des versions locales/distantes de pgBackRest. (Contribué par Greg Clough. Révisé par David Steele.)
- Ajouter une question fréquente sur l’exportation d’un cluster auto-contenu. (Contribué par Stefan Fercot. Révisé par David Steele.)
- Précaution
--tablespace-map-allconcernant la création de tablespaces. (Révisé par Stefan Fercot, Christophe Courtois. Proposé par Christophe Courtois.) - Préciser le comportement de
--repo-retention-full-type. (Révisé par Antoine Beaupré. Proposé par Antoine Beaupré.) - Modifier la recommandation concernant les magasins d’objets de
--process-maxà--repo-bundle. (Révisé par Stefan Fercot.) - Mettre à jour
unix_socket_directoryversunix_socket_directories. (Contribué par hyunkyu han. Révisé par David Steele.) - Ne pas placer
spool-pathdanspg_xlog/pg_wal. (Révisé par Martín Marqués, Don Seiler. Suggéré par Martín Marqués.)
Notes de version v2.54.2
Correction de bogue
Sortie le 20 janvier 2025
Correctifs de bogues :
- Corriger le problème survenu après avoir désactivé le regroupement avec l’incrémentation par bloc activée. (Révisé par David Christensen.)
Améliorations de la documentation :
- Préciser le comportement des fichiers de configuration multiples. (Révisé par Paul Bierly. Proposé par Paul Bierly.)
Notes de version v2.54.1
Correction de bogue
Sortie le 16 décembre 2024
Correctifs de bogues :
- Corriger le problème lié aux commandes
version/helpqui tentaient de chargerpgbackrest.conf. (Révisé par Stefan Fercot. Signalement par Bradford Boyle, Julian.)
Améliorations de la suite de tests :
- Stabiliser l’archivage asynchrone dans les tests d’intégration. (Contribué par Viktor Kurilko. Revu par David Steele.)
Notes de version v2.54.0
Heure cible pour le stockage versionné
Sortie le 21 octobre 2024
NOTE AUX PAQUETEURS : Cette version est la dernière à prendre en charge la construction autoconf/make. Veuillez migrer vers meson si ce n’est pas déjà fait. Les correctifs de version 2.54.X (le cas échéant) continueront à prendre en charge autoconf/make.
Correctifs de bogues :
- Corriger les performances des requêtes PostgreSQL sur de grands jeux de données. (Correctif apporté par Thibault Vincent, David Steele. Revu par David Christensen, Antoine Millet. Signalement par Antoine Millet.)
Fonctionnalités :
Autorise la lecture des dépôts sur un stockage versionné à une heure cible. (Révisé par Stefan Fercot, David Christensen.)
Autorise la réalisation de la sauvegarde en mode redondant demandée, même en l’absence de serveur redondant. (Révisé par Stefan Fercot.)
Améliorations :
- Résumer la liste de référence des sauvegardes dans la sortie texte de la commande
info. (Contribué par Stefan Fercot. Revu par David Steele.) - Actualiser le jeton web-id pour chaque authentification S3. (Contribué par Brent Graveland. Revu par David Steele.)
- Afficher correctement les valeurs actuelles des options indexées dans l’aide. (Revu par David Christensen.)
- Enregistrer
backup.infouniquement lorsque son contenu a changé. (Revu par Stefan Fercot.) - Supprimer la limitation relative à la lecture de fichiers en parallèle lors d’une restauration. (Revu par David Christensen.)
- Améliorer les messages d’erreur SFTP. (Contribué par Reid Thompson. Revu par David Steele.)
Fonctionnalités de la documentation :
- Ajouter une section d’optimisation des performances au guide utilisateur. (Révisé par Stefan Fercot.)
Améliorations de la documentation :
- Préciser la source de
data_directory. (Contribué par Stefan Fercot. Révisé par David Steele. Suggéré par Matthias.) - Meilleure logique pour déterminer quand un résumé doit être en minuscules. (Suggéré par Daniel Westermann.)
Notes de version v2.53.1
Prise en charge de PostgreSQL 17
Sortie le 19 août 2024
Correctifs de bogues :
- Corrigez les permissions lorsque
restoreest exécuté en tant qu’utilisateur root. (Révisé par Stefan Fercot. Signalement par Will M.) - Corrigez le plantage (segfault) sur les erreurs de connexion différées. (Révisé par David Christensen. Signalement par Anton Glushakov.)
- Ignorez la vérification des doublons du dépôt local pour SFTP. (Corrigé par Reid Thompson. Révisé par David Steele. Signalement par Anton Kurochkin.)
Améliorations :
- Prise en charge de PostgreSQL 17.
Notes de version v2.53
Sauvegardes concurrentes
Sortie le 22 juillet 2024
NOTE IMPORTANTE : La valeur par défaut de l’option log-level-stderr a été modifiée de warn à off. Cela facilite la détection des erreurs lorsqu’on redirige uniquement stdout. Pour conserver le comportement antérieur, définissez log-level-stderr=warn. NOTE AUX PAQUETEURS : La bibliothèque lz4 est désormais requise par la construction meson. NOTE AUX PAQUETEURS : La prise en charge du compilateur pour __builtin_clzl() et __builtin_bswap64() est désormais requise par la construction meson.
Correctifs de bogues :
- Correction d’une erreur de renommage SFTP lorsque le fichier existe déjà. (Correctif apporté par Reid Thompson. Revu par David Steele. Signalement par ahmed112212.)
Fonctionnalités :
Autoriser les sauvegardes à s’exécuter en parallèle sur des dépôts différents. (Révisé par Reid Thompson, Stefan Fercot.)
Prise en charge des SAN basés sur l’IP pour la validation des certificats TLS. (Contribué par David Christensen. Révisé par David Steele.)
Améliorations :
- Définir l’option
log-level-stderrsuroffpar défaut. (Révisé par Greg Sabino Mullane et Stefan Fercot.) - Autoriser d’autres tailles de segment WAL pour PostgreSQL ≤ 10. (Contribution de Viktor Kurilko. Révisé par David Steele.)
- Ajouter une indication invitant à consulter le journal d’autorisation SFTP. (Contribution de Vitalii Zurian. Révisé par Reid Thompson et David Steele.)
Améliorations de la documentation :
- Préciser le comportement multi-repo de
archive-push. (Révisé par Stefan Fercot.)
Notes de version v2.52.1
Correction de bogue
Sortie le 25 juin 2024
Correctifs de bogues :
- Corriger le problème des fichiers plus volumineux sur la réplique que sur le primaire. (Révisé par Stefan Fercot. Signalement par Nicolas Lassimonne.)
Notes de version v2.52
Prise en charge de PostgreSQL 17beta1
Sortie le 27 mai 2024
NOTE AUX PAQUETEURS : Le système de construction de pgBackRest est désormais meson. Le système de construction autoconf/make ne recevra plus de nouvelles fonctionnalités et sera supprimé après quelques versions.
Fonctionnalités :
- Ajout de la prise en charge de la suppression par lot GCS. (Révisé par Reid Thompson.)
- Prise en charge du chiffrement S3
SSE-C. (Révisé par Tim Jones. Proposé par Tim Jones.) - Prise en charge de PostgreSQL 17beta1. (Révisé par Stefan Fercot.)
Améliorations :
- Permettre la désactivation explicite des dépendances optionnelles lors des compilations meson. (Contribué par Michael Schout. Revu par David Steele.)
- Rechercher dynamiquement python lors de la compilation meson. (Contribué par Michael Schout. Revu par David Steele.)
- Marquer la cible de compilation
pgbackrestcomme installable dans meson. (Contribué par Bradford Boyle. Revu par David Steele.)
Améliorations de la documentation :
- Mettre à jour la documentation de
start/stoppour qu’elle reflète la fonctionnalité réelle. (Révisé par Stefan Fercot.)
Notes de version v2.51
Système de construction Meson
Sortie le 25 mars 2024
Correctifs de bogues :
- Ignorer les fichiers de taille nulle lors d’une restauration incrémentielle par bloc. (Révisé par Sebastian Krause, René Højbjerg Larsen. Signalement par Sebastian Krause.)
- Corriger la régression de performance dans la liste de stockage. (Révisé par Stephen Frost. Signalement par Maksym Boguk.)
- Corriger la journalisation de progression lorsque la taille du fichier change pendant la sauvegarde. (Révisé par Stephen Frost. Signalement par samkingno.)
Améliorations :
- Amélioration du support des connexions en double pile. (Révisé par Stephen Frost. Proposé par Timothée Peignier.)
- Utilisation de meson comme système de construction principal. (Révisé par Stephen Frost.)
- Détection des fichiers inchangés lors d’une sauvegarde incrémentielle non delta. (Révisé par Stephen Frost.)
- Empêcher une récupération invalide lorsque
backup_labelest supprimé. (Révisé par Stephen Frost.) - Amélioration de la gestion de la file d’attente des segments WAL
archive-push. (Révisé par Stephen Frost.) - Limite la fonctionnalité de reprise aux sauvegardes complètes. (Révisé par Stephen Frost, Stefan Fercot.)
- Mise à jour de la fonctionnalité de reprise pour les sauvegardes incrémentielles par bloc. (Révisé par Stephen Frost.)
- Permettre
--versionet--helppour la version et l’aide. (Révisé par Greg Sabino Mullane. Proposé par Greg Sabino Mullane.) - Ajout d’un backtrace détaillé dans la construction autoconf/make. (Révisé par Stephen Frost.)
Améliorations de la documentation :
- Mettre à jour les références à
recovery.conf. (Révisé par Stefan Fercot. Suggéré par Stephen Frost.)
Notes de version v2.50
Améliorations des performances et corrections de bogues
Sortie le 22 janvier 2024
Correctifs de bogues :
- Corriger la lecture courte lors d’une restauration incrémentielle par bloc. (Révisé par Stephen Frost, Brent Graveland. Signalement par Adol Rodriguez, Brent Graveland.)
- Corriger la suppression de la progression de la sauvegarde dans la sortie
info. (Corrigé par Robert Donovan. Révisé par Joe Wildish.)
Améliorations :
- Conserver les fichiers partiels lors d’une restauration incrémentielle par bloc. (Révisé par Stephen Frost.)
- Ajouter la prise en charge des tailles de page alternatives au moment de la compilation. (Contribué par Viktor Kurilko. Révisé par David Steele.)
- Ignorer les fichiers tronqués pendant la sauvegarde lors du regroupement. (Contribué par Georgy Shelkovy. Révisé par David Steele.)
- Améliorer les messages d’erreur du stockage SFTP. (Contribué par Reid Thompson. Révisé par David Steele.)
Notes de version v2.49
Supprimer le support de PostgreSQL 9.3
Sortie le 27 novembre 2023
Correctifs de bogues :
- Corriger un problème de réessais. (Révisé par Stephen Frost. Signalement par Norman Adkins, Tanel Suurhans, Jordan English, Timothée Peignier.)
- Corriger la suppression récursive de chemins dans le pilote de stockage SFTP. (Corrigé par Reid Thompson. Révisé par Stephen Frost. Signalement par Luc.)
Améliorations :
- Supprimer le support de PostgreSQL
9.3. (Révisé par Stephen Frost.)
Fonctionnalités de la documentation :
- Options relatives à la maintenance du document. (Révisé par Stefan Fercot.)
- Mise à jour de la documentation de la restauration à un instant donné pour PostgreSQL >= 13.
Améliorations de la suite de tests :
- Autoriser l’exécution des tests unitaires
config/loadsans quelibssh2soit installé. (Contribué par Reid Thompson. Revu par David Steele. Suggéré par Wu Ning.)
Notes de version v2.48
Balises de stockage du dépôt
Sortie le 25 septembre 2023
Correctifs de bogues :
- Corriger le problème de restauration d’une sauvegarde incrémentielle par bloc sans liste de blocs. (Révisé par Stephen Frost, Burak Yurdakul. Signalement par Burak Yurdakul.)
Fonctionnalités :
- Ajouter l’option
--repo-storage-tagpour créer des balises d’objets. (Révisé par Stephen Frost, Stefan Fercot, Timothée Peignier.) - Ajouter la vérification des hôtes connus pour le pilote de stockage SFTP. (Contribué par Reid Thompson. Révisé par Stephen Frost, David Steele.)
- Prise en charge des connexions en double pile. (Révisé par Stephen Frost.)
- Ajouter la taille de la sauvegarde terminée/total à la sortie JSON de la commande
info. (Contribué par Stefan Fercot. Révisé par David Steele.)
Améliorations :
- Commande de vérification multi-stanza. (Révisé par Stephen Frost.)
- Réessayer la lecture de
pg_controljusqu’à ce que la somme de contrôle soit valide. (Révisé par Stefan Fercot, Stephen Frost.) - Optimiser la vérification du segment WAL après une sauvegarde réussie. (Révisé par Stephen Frost.)
- Améliorer les performances multi-partie du GCS. (Révisé par Reid Thompson.)
- Permettre à la commande
archive-getde s’exécuter lorsque la stanza est arrêtée. (Révisé par Tom Swartz, David Christensen, Reid Thompson.) - Accepter un tilde initial dans les chemins pour les clés publiques/privées SFTP. (Contribué par Reid Thompson. Révisé par David Steele.)
- Recharger les identifiants GCS avant de renouveler le jeton d’authentification. (Révisé par Stephen Frost. Suggéré par Daniel Farina.)
Correctifs de bogues dans la documentation :
- Corriger l’exemple de référence de configuration pour l’option
tls-server-address. (Correctif apporté par Hartmut Goebel. Revu par David Steele.) - Corriger l’exemple de référence de commande pour l’option
filter.
Améliorations de la suite de tests :
- Autoriser l’exécution des tests unitaires
storage/sftpsans quelibssh2soit installé. (Contribué par Reid Thompson. Revu par David Steele. Suggéré par Wu Ning.)
Notes de version v2.47
Améliorations des performances et corrections de bogues
Sortie le 24 juillet 2023
Correctifs de bogues :
- Conserver les informations incrémentielles par bloc dans le manifeste lors d’une sauvegarde incrémentielle. (Révisé par Stephen Frost. Signalement par Francisco Miguel Biete Banon.)
- Corriger les noms de fichiers incrémentiels dans la commande
verify. (Révisé par Reid Thompson. Signalement par Francisco Miguel Biete Banon.) - Corriger la sauvegarde incrémentielle automatique erronée lors d’une sauvegarde depuis un serveur de secours. (Révisé par Stephen Frost. Signalement par krmozejko, Don Seiler.)
- Ignorer
recovery.signalpour PostgreSQL >= 12 lorsque la récupérationtype=none. (Révisé par Stefan Fercot. Signalement par T.Anastacio.) - Corriger la génération de libellés uniques pour les sauvegardes diff/incr. (Corrigé par Andrey Sokolov. Révisé par David Steele.)
- Corriger l’expiration des archives basée sur le temps lorsque aucune sauvegarde n’est expirée. (Révisé par Stefan Fercot.)
Améliorations :
- Améliorer les performances du pilote de stockage SFTP. (Contribué par Stephen Frost, Reid Thompson. Révisé par David Steele.)
- Ajouter un décalage horaire à la sortie de date/heure de la commande
info. (Révisé par Stefan Fercot, Philip Hurst. Suggéré par Philip Hurst.) - Centraliser le traitement des erreurs liées aux fonctionnalités non prises en charge. (Révisé par Stefan Fercot.)
Améliorations de la documentation :
- Préciser la préférence à installer à partir des paquets dans le guide utilisateur. (Révisé par Stefan Fercot. Suggéré par dr-kd.)
Notes de version v2.46
Sauvegarde incrémentielle par bloc et stockage SFTP
Sortie le 22 mai 2023
Fonctionnalités :
- Sauvegarde incrémentielle par bloc. (Révisé par John Morris, Stephen Frost, Stefan Fercot.)
- Prise en charge SFTP pour le stockage du dépôt. (Contribué par Reid Thompson. Révisé par Stephen Frost, David Steele.)
- Prise en charge de PostgreSQL 16. (Révisé par Stefan Fercot.)
Améliorations :
- Permettre de passer outre les vérifications d’en-tête de page. (Révisé par David Christensen. Proposé par David Christensen.)
- Éviter
chown()sur les fichiers de récupération lors d’une restauration. (Révisé par Stefan Fercot, Marcelo Henrique Neppel. Proposé par Marcelo Henrique Neppel.) - Ajouter des détails d’erreur pour les tentatives de réessai HTTP.
Améliorations de la documentation :
- Ajouter un avertissement concernant l’utilisation de la récupération
type=none. (Révisé par Stefan Fercot.) - Ajouter une note sur l’exécution de
stanza-createsur des dépôts déjà créés.
Notes de version v2.45
Sauvegarde incrémentielle par bloc (BÉTA)
Sortie le 20 mars 2023
Correctifs de bogues :
- Ne pas écrire
recovery.signalpar défaut lors de la restauration de sauvegardes hors ligne. (Révisé par Stefan Fercot. Signalement par Marcel Borger.)
Fonctionnalités :
- Sauvegarde incrémentielle par bloc (BÉTA). (Révisé par John Morris, Stephen Frost, Stefan Fercot.)
Améliorations :
- Conservez un seul index de groupe avec les valeurs par défaut. (Révisé par Stefan Fercot.)
Améliorations de la documentation :
- Ajouter des instructions explicites pour la mise à jour entre les versions
2.x. (Contribué par Christophe Courtois. Revu par David Steele.) - Supprimer les références à SSH rendues obsolètes avec l’introduction de TLS.
Notes de version v2.44
Supprimer le support de PostgreSQL 9.0/9.1/9.2
Sortie le 30 janvier 2023
Améliorations :
- Supprimer la prise en charge de PostgreSQL
9.0/9.1/9.2. (Révisé par Stefan Fercot.) - Erreur de restauration lorsque aucune sauvegarde ne correspond à la version actuelle de PostgreSQL. (Contribué par Stefan Fercot. Révisé par David Steele. Suggéré par Soulou.)
- Ajouter le contrôle de plage pour chaque
compress-typeviacompress-level. (Révisé par Stefan Fercot. Suggéré par gkleen, ViperRu.)
Améliorations de la documentation :
- Ajouter un avertissement concernant l’activation de « namespace hiérarchique » sur le stockage Azure. (Révisé par Stefan Fercot. Proposé par Vojtech Galda, Pluggi, asjonos.)
- Ajouter un remplacement pour les sauts de ligne dans l’exemple de surveillance. (Révisé par Stefan Fercot. Proposé par rudonx, gmustdie, Ivan Shelestov.)
- Préciser le comportement de
target-actionsur différentes versions de PostgreSQL. (Contribué par Chris Bandy. Révisé par David Steele, Anton Kurochkin, Stefan Fercot. Proposé par Anton Kurochkin, Chris Bandy.) - Mises à jour et clarifications apportées à la page d’accueil. (Révisé par Stefan Fercot.)
- Ajouter le mode sombre au site web. (Proposé par Stephen Frost.)
Notes de version v2.43
Correction de bogue
Sortie le 28 novembre 2022
Correctifs de bogues :
- Corriger la référence manquante dans une sauvegarde différentielle/incrementale. (Révisé par Stefan Fercot. Signalement par Marcel Borger, ulfedf, jaymefSO.)
Améliorations :
- Ajouter un indicateur lorsque l’option est spécifiée sans index. (Révisé par Stefan Fercot.)
Notes de version v2.42
Correctifs de bogues
Sortie le 22 novembre 2022
Correctifs de bogues :
- Corriger une fuite mémoire dans le bundle de fichiers
backup/restore. (Révisé par John Morris, Oscar. Signalement par Oscar.) - Corriger une erreur de protocole lors d’une lecture partielle d’un fichier distant. (Révisé par Stephen Frost.)
Améliorations :
- Ne pas stocker de références pour les fichiers de longueur nulle lors du regroupement. (Révisé par Stefan Fercot.)
- Utiliser des descriptions plus générales pour
pg_start_backup()/pg_stop_backup(). (Révisé par Greg Sabino Mullane, David Christensen. Proposé par Greg Sabino Mullane.)
Améliorations de la suite de tests :
- Mettre à jour l’option
test.pl--psql-binpour qu’elle corresponde à l’aide en ligne de commande. (Contribué par Koshi Shibagaki. Revu par David Steele.)
Notes de version v2.41
Annotations de sauvegarde
Sortie le 19 septembre 2022
Correctifs de bogues :
- Correction de l’expiration incorrecte du délai pour les dépôts non par défaut. (Révisé par Stefan Fercot. Signalement par Adam Brusselback.)
- Correction du problème survenant lors de l’affichage récursif des répertoires avec un filtre. (Révisé par Stephen Frost. Signalement par Efremov Egor.)
Fonctionnalités :
- Annotations clé/valeur pour la sauvegarde. (Contribué par Stefan Fercot. Révisé par David Steele. Suggéré par Adam Berlin.)
Améliorations :
- Prise en charge
--setdans la sortie JSON pour la commandeinfo. (Contribué par Stefan Fercot. Revu par David Steele. Suggéré par Anton Kurochkin.) - Permettre la configuration de la taille des morceaux à télécharger pour les magasins d’objets. (Revu par Stefan Fercot. Suggéré par Anton Glushakov.)
- Mettre à jour les horodatages du fichier archive.info après une sauvegarde réussie. (Revu par Stefan Fercot. Suggéré par Alex Richman.)
- Déplacer la vérification du timeline de la base de secours après le point de contrôle. (Revu par Stefan Fercot, Keith Fiske. Suggéré par Keith Fiske.)
- Améliorer le message d’avertissement lors de la reprise d’une sauvegarde. (Suggéré par Cynthia Shang.)
Améliorations de la documentation :
- Ajouter le chemin absolu pour
killdanspgbackrest.service. (Suggéré par Don Seiler.)
Notes de version v2.40
Prise en charge d’OpenSSL 3
Sortie le 18 juillet 2022
NOTE AUX PAQUETEURS : Une version expérimentale de la construction avec meson a été ajoutée, mais les paqueteurs doivent continuer à utiliser la construction autoconf/make pour le moment.
Améliorations :
- Prise en charge d’OpenSSL 3. (Révisé par Stephen Frost.)
- Créer un instantané lors de l’affichage du contenu d’un chemin. (Révisé par John Morris, Stephen Frost.)
- Forcer
target-timeline=currentlors de la restaurationtype=immediate. (Révisé par Stephen Frost.) - Tronquer les fichiers pendant une mise à jour incrémentielle
restorelorsqu’ils sont plus grands que prévu. (Révisé par Stephen Frost.) - Désactiver l’enregistrement du manifeste incrémentiel lorsque
resume=n. (Contribué par Reid Thompson. Révisé par David Steele.) - Définir le pourcentage de progression de la sauvegarde sur zéro avant le début de la copie. (Contribué par Reid Thompson. Révisé par David Steele.)
- Utiliser le drapeau S3
IsTruncatedpour déterminer la continuation de la liste. (Révisé par John Morris, Soulou. Suggéré par Christian Montagne.)
Correctifs de bogues dans la documentation :
- Ignorer les options internes dans la référence de configuration. (Signalé par Francisco Miguel Biete Banon.)
Améliorations de la documentation :
- Ajouter un lien vers la configuration PostgreSQL dans la section hôte du dépôt. (Révisé par Stefan Fercot. Proposé par Julien Cigar.)
Améliorations de la suite de tests :
- Ajouter la construction expérimentale avec Meson. (Révisé par Eli Schwartz, Sam Bassaly.)
- Permettre à tout chemin d’être passé à l’option
--test-path. (Contribué par Andrey Sokolov. Révisé par David Steele.) - Corriger l’erreur de compilation lorsque
DEBUG_EXEC_TIMEest défini sansDEBUG. (Contribué par Andrey Sokolov. Révisé par David Steele.)
Notes de version v2.39
Vérification et regroupement de fichiers
Sortie le 16 mai 2022
Correctifs de bogues :
- Corriger l’erreur levée par
FINALLY()provoquant une boucle infinie. (Révisé par Stephen Frost.) - Erreur sur toutes les échecs de verrouillage, sauf lorsque le verrou est détenu par un autre processus. (Révisé par Reid Thompson, Geir Råness. Signalement par Geir Råness.)
Fonctionnalités :
- Regroupement des fichiers de sauvegarde pour une meilleure prise en charge des petits fichiers. (Révisé par Reid Thompson, Stefan Fercot, Chris Bandy.)
- Commande verify pour valider le contenu d’un dépôt. (Contribué par Cynthia Shang, Reid Thompson. Révisé par David Steele, Stefan Fercot.)
- Prise en charge de PostgreSQL 15. (Révisé par Stefan Fercot.)
- Affichage du pourcentage d’avancement de la sauvegarde dans la sortie
info. (Contribué par Reid Thompson. Révisé par David Steele.) - Sélection automatique de la sauvegarde pour la commande
restore--type=lsn. (Contribué par Reid Thompson. Révisé par Stefan Fercot, David Steele.) - Suppression de l’avertissement relatif au WAL existant lorsque
archive-mode-checkest désactivé. (Contribué par Reid Thompson. Révisé par David Steele.) - Ajout de la prise en charge d’AWS IMDSv2. (Contribué par Nuno Pires. Révisé par David Steele.)
Améliorations :
- Permettre la modification de l’option
repo-hardlinkaprès une sauvegarde complète. (Révisé par Reid Thompson.) - Améliorer la précision de la journalisation du pourcentage d’avancement pour
backupetrestore. (Contribué par Reid Thompson. Révisé par David Steele.) - Améliorer la validation des chemins pour les commandes
repo-*. (Contribué par Reid Thompson. Révisé par David Steele.) - Améliorer la commande
stopafin qu’elle respecte l’optionstanza. (Contribué par Reid Thompson. Révisé par David Steele. Suggéré par ragaoua.) - Améliorer le message d’erreur pour un
repo-azure-keynon valide. (Contribué par Reid Thompson. Révisé par David Steele. Suggéré par Seth Daniel.) - Ajouter une indication pour vérifier le journal sur
archive-get/archive-pushen cas d’erreur asynchrone. (Révisé par Reid Thompson.) - Ajouter
ClockErroren cas de décalage horaire ou de changement de fuseau horaire inattendu. (Révisé par Greg Sabino Mullane, Stefan Fercot. Suggéré par Greg Sabino Mullane.) - Supprimer les extensions du manifeste de l’historique avant de l’afficher dans le message d’erreur. (Révisé par Stefan Fercot.)
- Ajouter l’utilisateur:groupe à l’erreur de permission de verrouillage. (Révisé par Reid Thompson.)
Correctifs de bogues dans la documentation :
- Correction d’une référence incorrecte à
stanza-updatedans le guide utilisateur. (Correctif apporté par Abubakar Mohammed. Revu par David Steele.) - Correction de l’exemple pour l’option
repo-gcs-key-typedans la référence de configuration. (Revu par Reid Thompson.) - Correction de l’exemple pour
tls-server-authet ajout de précisions. (Revu par Reid Thompson.)
Améliorations de la documentation :
- Simplifier les messages concernant les versions prises en charge dans la documentation. (Révisé par Stefan Fercot, Reid Thompson, Greg Sabino Mullane.)
- Ajouter des descriptions des types d’option. (Contribué par Reid Thompson. Révisé par David Steele.)
- Ajouter une FAQ sur les types de sauvegarde et la vitesse de restauration. (Contribué par David Christensen. Révisé par Reid Thompson.)
- Documenter la branche de base requise pour les demandes de fusion. (Contribué par David Christensen. Révisé par Reid Thompson.)
Notes de version v2.38
Corrections de bogues mineurs et améliorations
Sortie le 6 mars 2022
NOTE IMPORTANTE : La taille du dépôt rapportée par la commande info est désormais entièrement basée sur ce que pgBackRest a écrit dans le stockage. Dans certains cas, pgBackRest pouvait auparavant détecter si une compression supplémentaire était appliquée par le stockage, mais cette fonctionnalité n’est plus prise en charge.
Correctifs de bogues :
- Réessayer les erreurs survenues lors de la suppression par lot de fichiers S3. (Révisé par Reid Thompson. Signalement par Alex Richman.)
- Permettre la correspondance insensible à la casse des valeurs d’en-tête HTTP
connection. (Révisé par Reid Thompson. Signalement par Rémi Vidier.)
Fonctionnalités :
- Ajouter la prise en charge du chiffrement côté serveur AWS S3 utilisant KMS. (Contribué par Christoph Berg. Revu par David Steele, Tharindu Amila.)
- Ajouter l’option
archive-missing-retry. (Revu par Stefan Fercot.) - Ajouter un filtre de type de sauvegarde à la commande
info. (Contribué par Stefan Fercot. Revu par David Steele.)
Améliorations :
- Réessayer en cas d’échec de validation de page pendant
backup. (Révisé par Stephen Frost, David Christensen.) - Gérer les serveurs TLS qui ne ferment pas les connexions de manière gracieuse. (Révisé par Rémi Vidier, David Christensen, Stephen Frost.)
- Ajouter les LSN de sauvegarde à la sortie de la commande
info. (Contribué par Stefan Fercot. Révisé par David Steele.) - Supprimer automatiquement les barres obliques en fin de chemins
repo-ls. (Contribué par David Christensen. Révisé par David Steele.) - Ne pas réessayer les erreurs fatales. (Révisé par Reid Thompson.)
- Supprimer le support de PostgreSQL
8.3/8.4. (Révisé par Reid Thompson, Stefan Fercot.) - Supprimer la logique qui tentait de déterminer une compression supplémentaire du système de fichiers. (Révisé par Reid Thompson, Stefan Fercot.)
Correctifs de bogues dans la documentation :
- Déplacer les options
repodans la documentation TLS vers la sectionglobal. (Signalé par Anton Kurochkin.) - Supprimer l’option
backup-standbyinutilisée des commandes de stanza. (Signalé par Stefan Fercot.) - Corriger les fautes de frappe dans l’aide et les notes de version. (Corrigé par Daniel Gustafsson. Revu par David Steele.)
Améliorations de la documentation :
- Ajouter une vérification de disponibilité à la configuration du service systemd. (Suggéré par Yogesh Sharma.)
- Ajouter une FAQ expliquant le suffixe de l’archive WAL. (Contribué par Stefan Fercot. Revu par David Steele.)
- Notez que les slots de réplication ne sont pas restaurés. (Contribué par Reid Thompson. Revu par David Steele, Stefan Fercot. Suggéré par Christophe Courtois.)
Notes de version v2.37
Serveur TLS
Sortie le 3 janvier 2022
NOTE IMPORTANTE : Si la commande restore n’est pas en mesure de trouver une sauvegarde correspondant à une cible de temps spécifiée, une erreur sera levée, contrairement à auparavant où un avertissement était simplement journalisé.
Correctifs de bogues :
- Corriger le mappage des liens delta de
restorelorsque le chemin ou le fichier existe déjà. (Révisé par Reid Thompson. Signalé par Younes Alhroub.) - Corriger la fuite de socket lors des nouvelles tentatives de connexion. (Révisé par Reid Thompson. Signalé par James Coleman.)
Fonctionnalités :
- Ajouter un serveur TLS. (Révisé par Stephen Frost, Reid Thompson, Andrew L’Ecuyer.)
- Ajouter l’option
--cmd. (Contribué par Reid Thompson. Révisé par Stefan Fercot, David Steele. Suggéré par Virgile CREVON.)
Améliorations :
- Vérifier l’archive immédiatement après le démarrage de la sauvegarde. (Révisé par Reid Thompson, David Christensen.)
- Ajouter des vérifications de timeline et de point de contrôle à la sauvegarde. (Révisé par Stefan Fercot, Reid Thompson.)
- Vérifier que les clusters sont actifs et correctement configurés pendant une sauvegarde. (Révisé par Stefan Fercot.)
- Erreur lorsque
restoreest incapable de trouver une sauvegarde correspondant à la cible de temps. (Révisé par Reid Thompson, Douglas J Hunley. Proposé par Douglas J Hunley.) - Analyser le protocole/port dans les points d’accès S3/Azure. (Contribué par Reid Thompson. Révisé par David Steele.)
- Ajouter un avertissement lorsque checkpoint_timeout dépasse
db-timeout. (Contribué par Stefan Fercot. Révisé par David Steele.) - Ajouter un verbe à la sortie d’erreur HTTP. (Contribué par Christoph Berg. Révisé par David Steele.)
- Permettre les arguments y/n pour les options de ligne de commande booléennes. (Contribué par Reid Thompson. Révisé par David Steele.)
- Faire correspondre exactement la taille de la sauvegarde au format de sortie de la commande
info. (Contribué par Reid Thompson. Revu par David Steele. Suggéré par Mahomed Hussein.)
Améliorations de la documentation :
- Afficher les valeurs par défaut et autorisées de l’option de taille, accompagnées des unités appropriées. (Révisé par Reid Thompson.)
- Corriger les fautes de frappe et améliorer la documentation de l’option
tablespace-map-all. (Révisé par Reid Thompson. Proposé par Reid Thompson.) - Supprimer l’énoncé obsolète concernant la prise en charge future de plusieurs dépôts. (Proposé par David Christensen.)
Notes de version v2.36
Corrections de bogues mineurs et améliorations
Sortie le 1er novembre 2021
Correctifs de bogues :
- Autoriser « global » comme préfixe de stanza. (Révisé par Stefan Fercot. Signalement par Younes Alhroub.)
- Corriger le plantage (segfault) lors d’un fichier de clé GCS invalide. (Révisé par Stephen Frost. Signalement par Henrik Feldt.)
Améliorations :
- Autoriser l’option
link-mappour créer de nouveaux liens. (Révisé par Don Seiler, Stefan Fercot, Chris Bandy. Proposé par Don Seiler.) - Augmenter le nombre maximal d’index autorisé pour les options
pg/repoà 256. (Révisé par Cynthia Shang.) - Ajouter l’authentification
WebIdentitypour AWS S3. (Révisé par James Callahan, Reid Thompson, Benjamin Blattberg, Andrew L’Ecuyer.) - Signaler les erreurs de validation des fichiers de sauvegarde dans
backup.info. (Contribué par Stefan Fercot. Révisé par David Steele.) - Ajouter l’heure de démarrage de la récupération au journal de restauration en ligne d’une sauvegarde. (Révisé par Tom Swartz, Stefan Fercot. Proposé par Tom Swartz.)
- Signaler l’erreur d’origine et les tentatives de réessai en cas d’échec d’une tâche locale. (Révisé par Stefan Fercot.)
- Renommer l’erreur de somme de contrôle de page en liste d’erreurs dans la sortie texte d’information. (Révisé par Stefan Fercot.)
- Ajouter des indications à l’avertissement de délai d’attente de relecture en mode secondaire. (Révisé par Cynthia Shang, Stefan Fercot. Proposé par Leigh Downs.)
Notes de version v2.35
Protocole binaire
Sortie le 23 août 2021
NOTE IMPORTANTE : Le niveau de journalisation des fichiers copiés dans les commandes backup/restore a été modifié en detail. Cela rend le niveau de journalisation info moins bruyant, mais si ces messages sont nécessaires, définissez le niveau de journalisation des commandes backup/restore sur detail.
Correctifs de bogues :
- Détecter les erreurs lors de la finalisation du téléchargement multipartite S3. (Révisé par Cynthia Shang, Marco Montagna. Signalement par Marco Montagna, Lev Kokotov, Anderson A. Mallmann.)
- Corriger la détection des liens symboliques circulaires. (Révisé par Stefan Fercot. Signalement par Rohit Raveendran.)
- Transmettre uniquement les options
reposélectionnées au serveur distant. (Révisé par David Christensen, Cynthia Shang. Signalement par Greg Sabino Mullane, David Christensen.)
Améliorations :
- Protocole binaire. (Révisé par Cynthia Shang.)
- Créer automatiquement le répertoire de données sur
restore. (Contribué par Stefan Fercot. Révisé par David Steele. Suggéré par Chris Bandy.) - Autoriser
restore--type=lsn. (Contribué par Stefan Fercot. Révisé par Cynthia Shang. Suggéré par James Coleman.) - Modifier le niveau de journalisation des fichiers copiés
backup/restoreen détail. (Révisé par Stefan Fercot. Suggéré par Jens Wilke.) - Boucler en attendant que le LSN de point de contrôle atteigne le LSN de relecture. (Contribué par Stefan Fercot. Révisé par David Steele. Suggéré par Fatih Mencutekin.)
- Journaliser le total des fichiers
backupet le total de la taille par fichierrestore. (Révisé par Cynthia Shang.)
Correctifs de bogues dans la documentation :
- Correction de noms d’hôtes incorrects dans le guide utilisateur. (Révisé par Stefan Fercot. Signalement par Greg Sabino Mullane.)
Améliorations de la documentation :
- Mettre à jour la documentation relative à la contribution et ajouter un modèle de demande de fusion. (Contribué par Cynthia Shang. Revu par David Steele.)
- Réorganiser la documentation relative aux sauvegardes dans le guide utilisateur. (Revu par Cynthia Shang.)
- Préciser le comportement de
restore--typedans la référence de commande. (Contribué par Cynthia Shang. Revu par David Steele.) - Corriger les fautes de frappe dans la documentation et les commentaires. (Contribué par Eric Radman. Revu par David Steele.)
Améliorations de la suite de tests :
- Ajouter une vérification du chemin de test à l’intérieur du chemin de répertoire. (Révisé par Greg Sabino Mullane. Proposé par Greg Sabino Mullane.)
- Ajouter une analyse statique du code avec CodeQL. (Révisé par Cynthia Shang.)
- Mettre à jour les tests pour utiliser des modèles standards. (Contribué par Cynthia Shang. Révisé par David Steele.)
Notes de version v2.34
Prise en charge de PostgreSQL 14
Sortie le 7 juin 2021
Correctifs de bogues :
- Corriger les problèmes liés aux fichiers de file d’attente résiduels d’une précédente
restore. (Révisé par Cynthia Shang, Stefan Fercot, Floris van Nee. Signalement par Floris van Nee.) - Corriger le problème survenant lors de la vérification des liens pour un grand nombre d’espaces de tables. (Révisé par Cynthia Shang, Avinash Vallarapu. Signalement par Avinash Vallarapu.)
- Libérer les distants inutiles afin qu’ils n’expirent pas durant
restore. (Révisé par Cynthia Shang. Signalement par Francisco Miguel Biete Banon.) - Corriger
helplorsqu’une option valide est invalide pour la commande spécifiée. (Révisé par Stefan Fercot. Signalement par Cynthia Shang.)
Fonctionnalités :
- Ajouter la prise en charge de PostgreSQL 14. (Révisé par Cynthia Shang.)
- Ajouter l’authentification automatique GCS pour les instances GCE. (Révisé par Jan Wieck, Daniel Farina.)
- Ajouter l’option
repo-retention-historypour expirer l’historique des sauvegardes. (Contribué par Stefan Fercot. Révisé par Cynthia Shang, David Steele.) - Ajouter l’option
db-exclude. (Contribué par Stefan Fercot. Révisé par Cynthia Shang.)
Améliorations :
- Modifier le niveau de journalisation de l’expiration de l’archive de détail à information. (Contribué par Cynthia Shang. Revu par David Steele.)
- Supprimer le chemin de stockage temporaire de l’archive de la stanza sur
restore. (Revu par Cynthia Shang, Stefan Fercot.) - Ne pas écrire les fichiers de manière atomique ni synchroniser les chemins pendant la copie
backup. (Revu par Stephen Frost, Stefan Fercot, Cynthia Shang.)
Améliorations de la documentation :
- Mettre à jour la documentation relative aux contributions. (Contribué par Cynthia Shang. Révisé par David Steele, Stefan Fercot.)
- Consolider le guide utilisateur RHEL/CentOS en un seul document. (Révisé par Cynthia Shang.)
- Préciser que
repo-s3-rolen’est pas unARN. (Contribué par Isaac Yuen. Révisé par David Steele.)
Notes de version v2.33
Prise en charge des dépôts multiples et de GCS
Sortie le 5 avril 2021
Correctifs de bogues :
- Corriger les avertissements d’option bloquant la synchronisation asynchrone
archive-get/archive-push. (Révisé par Cynthia Shang. Signalement par Lev Kokotov.) - Corriger la fuite mémoire lors de la sauvegarde pendant la copie de l’archive. (Révisé par Cynthia Shang. Signalement par Christian ROUX, Efremov Egor.)
- Corriger le dépassement de pile lors de la génération de la phrase de passe du chiffrement. (Révisé par Cynthia Shang. Signalement par bsiara.)
- Corriger
repo-ls/sur les dépôts S3. (Révisé par Cynthia Shang. Signalement par Lesovsky Alexey.)
Fonctionnalités :
- Prise en charge de plusieurs dépôts. (Contribué par Cynthia Shang, David Steele. Revu par Stefan Fercot, Stephen Frost.)
- Prise en charge de GCS pour le stockage du dépôt. (Revu par Cynthia Shang, Daniel Farina.)
- Ajout de l’option
archive-header-check. (Revu par Stephen Frost, Cynthia Shang. Proposé par Hans-Jürgen Schönig.)
Améliorations :
- Inclure les bases de données système recréées lors d’une restauration sélective. (Contribué par Stefan Fercot. Revu par Cynthia Shang.)
- Exclure
content-lengthdes en-têtes signés S3. (Revu par Cynthia Shang. Suggéré par Brian P Bockelman.) - Consolider les options de stockage du dépôt moins couramment utilisées. (Revu par Cynthia Shang.)
- Permettre un
config-pathpar défaut personnalisé avec./configure --with-configdir. (Contribué par Michael Schout. Revu par David Steele.) - Journaliser la copie de l’archive pendant
backup. (Revu par Cynthia Shang, Stefan Fercot.)
Améliorations de la documentation :
- Mettre à jour la référence pour inclure des liens vers des exemples du guide utilisateur. (Contribué par Cynthia Shang. Revu par David Steele.)
- Mettre à jour la documentation de la restauration sélective avec des avertissements. (Revu par Cynthia Shang, Stefan Fercot.)
- Ajouter une clarification sur
compress-typedans la documentation dearchive-copy. (Revu par Cynthia Shang, Stefan Fercot.) - Ajouter les valeurs par défaut de
compress-levelen fonction de la valeur decompress-type. (Contribué par Cynthia Shang. Revu par David Steele.) - Ajouter une note indiquant que les paramètres NFS requis doivent être identiques à ceux de PostgreSQL. (Contribué par Cynthia Shang. Revu par David Steele.)
Notes de version v2.32
Commandes du dépôt
Sortie le 8 février 2021
Correctifs de bogues :
- Corriger la reprise après suppression partielle d’une sauvegarde par une reprise antérieure. (Révisé par Cynthia Shang. Signalement par Tom Swartz.)
Fonctionnalités :
- Ajouter la commande
repo-ls. (Révisé par Cynthia Shang, Stefan Fercot.) - Ajouter la commande
repo-get. (Contribué par Stefan Fercot, David Steele. Révisé par Cynthia Shang.) - Ajouter l’option
archive-mode-check. (Contribué par Stefan Fercot. Révisé par David Steele, Michael Banck.)
Améliorations :
- Améliorer les performances de
archive-get. (Révisé par Cynthia Shang.)
Améliorations de la documentation :
- Améliorer la documentation de la commande
expire. (Contribué par Cynthia Shang. Revu par David Steele.)
Notes de version v2.31
Corrections de bogues mineurs et améliorations
Sortie le 7 décembre 2020
Correctifs de bogues :
- Autoriser
[,#etspacecomme premier caractère dans les noms de base de données. (Révisé par Stefan Fercot, Cynthia Shang. Signalement par Jefferson Alexandre.) - Créer
standby.signaluniquement sur PostgreSQL 12 lorsque le typerestoreeststandby. (Corrigé par Stefan Fercot. Révisé par David Steele. Signalement par Keith Fiske.)
Fonctionnalités :
- Expire les fichiers d’historique. (Contribué par Stefan Fercot. Revu par David Steele.)
- Signale les erreurs de somme de contrôle de page dans la sortie de la commande
infotext. (Contribué par Stefan Fercot. Revu par Cynthia Shang.) - Ajoute l’option
repo-azure-endpoint. (Revu par Cynthia Shang, Brian Peterson. Suggéré par Brian Peterson.) - Ajoute l’option
pg-database. (Revu par Cynthia Shang.)
Améliorations :
- Améliorer la sortie de la commande
infolorsque une stanza est spécifiée mais manquante. (Contribué par Stefan Fercot. Revu par Cynthia Shang, David Steele. Suggéré par uspen.) - Améliorer les performances des listes de fichiers volumineuses dans les commandes
backup/restore. (Revu par Cynthia Shang, Oscar.) - Ajouter des tentatives de nouvelle tentative lors de la mise en sommeil de PostgreSQL au démarrage d’une sauvegarde. (Revu par Cynthia Shang. Suggéré par Vitaliy Kukharik.)
Améliorations de la documentation :
- Remplacer la documentation RHEL/CentOS 6 par celle de RHEL/CentOS 8.
Notes de version v2.30
Prise en charge de PostgreSQL 13
Sortie le 5 octobre 2020
Correctifs de bogues :
- Erreur avec indications lorsque l’utilisateur de sauvegarde ne peut pas lire
pg_settings. (Révisé par Stefan Fercot, Cynthia Shang. Signalement par Mohamed Insaf K.)
Fonctionnalités :
- Prise en charge de PostgreSQL 13. (Révisé par Cynthia Shang.)
Améliorations :
- Améliorer l’identification de la version de PostgreSQL. (Révisé par Cynthia Shang, Stephen Frost.)
- Améliorer le message d’erreur relatif au répertoire de travail. (Révisé par Stefan Fercot.)
- Ajouter une indication sur le démarrage de la stanza lorsque le segment WAL n’est pas trouvé. (Contribué par David Christensen. Révisé par David Steele.)
- Ajouter une indication concernant un désaccord de version de protocole. (Révisé par Cynthia Shang. Suggéré par loop-evgeny.)
Améliorations de la documentation :
- Ajouter une note indiquant que les versions de pgBackRest doivent être identiques lorsqu’elles sont exécutées à distance. (Révisé par Cynthia Shang. Proposé par loop-evgeny.)
- Déplacer le texte de la commande info vers la référence et établir un lien vers le guide utilisateur. (Révisé par Cynthia Shang. Proposé par Christophe Courtois.)
- Mettre à jour le chemin du dépôt yum pour le guide utilisateur CentOS/RHEL. (Contribué par Heath Lord. Révisé par David Steele.)
Notes de version v2.29
Crédentiels S3 automatiques sur AWS
Sortie le 31 août 2020
Correctifs de bogues :
- Supprime les erreurs lors de la fermeture des processus
local/remote. Étant donné que la commande est terminée, il est contre-productif de lever une erreur, mais avertit tout de même pour indiquer qu’un événement inhabituel s’est produit. (Révisé par Cynthia Shang. Signalement par argdenis.) - Corrige le problème lié au caractère
=dans les noms de fichier ou de base de données. (Révisé par Bastian Wegge, Cynthia Shang. Signalement par Brad Nicholson, Bastian Wegge.)
Fonctionnalités :
- Récupérer automatiquement les identifiants temporaires S3 sur les instances AWS. (Contribution de David Steele, Stephen Frost. Relecture par Cynthia Shang, David Youatt, Aleš Zelený, Jeanette Bromage.)
- Ajouter l’option
archive-modepour désactiver l’archivage lors d’une restauration. (Relecture par Stephen Frost. Proposition de Stephen Frost.)
Améliorations :
- Prise en charge de PostgreSQL 13 beta3. Les modifications apportées aux versions de contrôle/catalogue/WAL dans les versions beta ultérieures peuvent rompre la compatibilité, mais pgBackRest sera mis à jour à chaque version pour suivre l’évolution.
- Prise en charge de l’asynchrone
list/removepour le stockage S3/Azure. (Révisé par Cynthia Shang, Stephen Frost.) - Amélioration de l’utilisation mémoire lors de la détection des relations non enregistrées lors de la construction du manifeste. (Révisé par Cynthia Shang, Stephen Frost, Brad Nicholson, Oscar. Proposé par Oscar, Brad Nicholson.)
- Fermeture proactive des descripteurs de fichiers après le fork du processus asynchrone. (Révisé par Stephen Frost, Cynthia Shang.)
- Report de la fermeture de la connexion distante de la sauvegarde jusqu’après le contrôle de l’archive. (Contribué par Floris van Nee. Révisé par David Steele.)
- Amélioration de la sortie détaillée des erreurs. (Révisé par Cynthia Shang.)
- Amélioration du rapport des erreurs TLS. (Révisé par Cynthia Shang, Stephen Frost.)
Correctifs de bogues dans la documentation :
- Ajouter
noneà la référence de l’optioncompress-typeet corriger l’exemple. (Signalé par Ugo Bellavance, Don Seiler.) - Ajouter le type manquant
azuredans la référence de l’optionrepo-type. (Corrigé par Don Seiler. Revu par David Steele.) - Corriger l’orthographe dans la référence de l’option
repo-cipher-type. (Corrigé par Don Seiler. Revu par David Steele.)
Améliorations de la documentation :
- Précisez que
expiredoit être exécuté régulièrement lorsqueexpire-autoest désactivé. (Révisé par Douglas J Hunley. Suggéré par Douglas J Hunley.)
Notes de version v2.28
Stockage de dépôt Azure
Sortie le 20 juillet 2020
Correctifs de bogues :
- Correction
restore--forceagissant comme--force --delta. Cela a fait querestoreremplaçait les fichiers en fonction de leur horodatage et de leur taille plutôt que de les écraser, ce qui a laissé certains fichiers qui auraient dû être mis à jour inchangés. Lesrestoreetrestore--deltanormaux n’ont pas été affectés par ce problème. (Révisé par Cynthia Shang.)
Fonctionnalités :
Prise en charge d’Azure pour le stockage du dépôt. (Révisé par Cynthia Shang, Don Seiler.)
Ajouter l’option
expire-auto. Cela permet de désactiver l’expiration automatique après une sauvegarde réussie. (Contribué par Stefan Fercot. Révisé par Cynthia Shang, David Steele.)
Améliorations :
- Téléversement asynchrone multipart S3. (Révisé par Stephen Frost.)
- Réessai automatique pour
backup,restore,archive-getetarchive-push. (Révisé par Cynthia Shang.) - Désactiver la parallélisation des requêtes dans les sessions PostgreSQL utilisées pour le contrôle de la sauvegarde. (Révisé par Stefan Fercot.)
- Prise en charge de PostgreSQL 13 beta2. Les modifications apportées aux versions du contrôle/catalogue/WAL dans les versions bêta ultérieures peuvent rompre la compatibilité, mais pgBackRest sera mis à jour à chaque version pour suivre l’évolution.
- Amélioration de la gestion des codes de réponse HTTP non valides. (Révisé par Cynthia Shang.)
- Amélioration du message d’erreur lorsque l’option
pg1-pathest manquante pour la commandearchive-get. (Révisé par Cynthia Shang.) - Ajout d’un indicateur lorsque la somme de contrôle delta est activée après un basculement de timeline. (Révisé par Matt Bunter, Cynthia Shang.)
- Utiliser PostgreSQL au lieu de
postmasterlorsque cela est approprié. (Révisé par Cynthia Shang.)
Correctifs de bogues dans la documentation :
- Correction de l’exemple incorrect pour l’option
repo-retention-full-type. (Signalé par Höseyin Sönmez.) - Suppression des commandes internes des références HTML et man. (Signalé par Cynthia Shang.)
Améliorations de la documentation :
- Mettre à jour les versions de PostgreSQL utilisées pour la construction des guides utilisateur. Ajouter également des plages de versions pour indiquer qu’un guide utilisateur est pertinent pour une plage de versions de PostgreSQL, même s’il a été construit pour une version spécifique. (Révisé par Stephen Frost.)
- Mettre à jour la FAQ concernant l’expiration d’un jeu de sauvegarde spécifique. (Contribué par Cynthia Shang. Révisé par David Steele.)
- Mettre à jour la FAQ pour clarifier le comportement par défaut de la récupération à un point précis dans le temps (PITR). (Contribué par Cynthia Shang. Révisé par David Steele.)
Notes de version v2.27
Améliorations de l’expiration et pilotes de compression
Sortie le 26 mai 2020
Correctifs de bogues :
- Corriger le problème de vérification du fait que des liens de fichier soient contenus dans des liens de chemin. (Révisé par Cynthia Shang. Signalement par Christophe Cavallié.)
- Permettre que
pg-path1soit facultatif pour la synchronisationarchive-push. (Révisé par Cynthia Shang. Signalement par Jerome Peng.) - La commande
expirevérifie désormais la présence d’un fichier d’arrêt. (Corrigé par Cynthia Shang. Révisé par David Steele.) - Gérer le cas où la phrase de raison est absente dans la réponse HTTP. (Révisé par Cynthia Shang. Signalement par Tenuun.)
- Augmenter la taille du tampon pour le vidage de la compression lz4. (Révisé par Cynthia Shang. Signalement par Eric Radman.)
- Ignorer les options
pg-host*etrepo-host*pour la commanderemote. (Révisé par Cynthia Shang. Signalement par Pavel Suderevsky.) - Corriger la possibilité de manque d’options
pg1-*pour la commanderemote. (Révisé par Cynthia Shang. Signalement par Andrew L’Ecuyer.)
Fonctionnalités :
- Rétention basée sur la durée pour les sauvegardes complètes. L’option
--repo-retention-full-typepermet de conserver les sauvegardes complètes selon une période définie, exprimée en jours. (Contribué par Cynthia Shang, Pierre Ducroquet. Revu par David Steele.) - Expiration de sauvegarde à la demande. Permet à l’utilisateur de supprimer une sauvegarde spécifique, indépendamment des paramètres de rétention. (Contribué par Cynthia Shang. Revu par David Steele.)
- Prise en charge de la compression Zstandard. Notez que la configuration de
compress-type=zstrendra les nouvelles sauvegardes et archives incompatibles (non restaurables) avec les versions antérieures de pgBackRest. (Revu par Cynthia Shang.) - Prise en charge de la compression bzip2. Notez que la configuration de
compress-type=bz2rendra les nouvelles sauvegardes et archives incompatibles (non restaurables) avec les versions antérieures de pgBackRest. (Contribué par Stephen Frost. Revu par David Steele, Cynthia Shang.) - Ajout de l’état d’exécution
backup/expireà la commandeinfo. (Contribué par Stefan Fercot. Revu par David Steele.)
Améliorations :
- Expire les archives WAL uniquement lorsque le seuil
repo-retention-archiveest atteint. Les archives WAL antérieures à la première sauvegarde complète étaient auparavant expirées après la première sauvegarde complète. Elles sont désormais conservées selon les paramètres de rétention. (Contribué par Cynthia Shang. Revu par David Steele.) - Ajouter une implémentation locale MD5 afin que S3 fonctionne lorsque FIPS est activé. (Revu par Cynthia Shang, Stephen Frost. Suggéré par Brian Almeida, John Kelly.)
- Prise en charge de PostgreSQL 13 beta1. Les modifications apportées aux versions de contrôle/catalogue/WAL dans les versions bêta ultérieures peuvent rompre la compatibilité, mais pgBackRest sera mis à jour à chaque version pour suivre l’évolution. (Revu par Cynthia Shang.)
- Réduire la valeur par défaut de
buffer-sizeà1MiB. (Revu par Stephen Frost.) - Générer une erreur lisible par l’utilisateur si
expiren’est pas exécuté sur l’hôte du dépôt. (Contribué par Cynthia Shang. Revu par David Steele.)
Notes de version v2.26
TLS non bloquant
Sortie le 20 avril 2020
Correctifs de bogues :
- Supprimez l’expression imbriquée vide de l’expression régulière du manifeste. MacOS n’était pas satisfait de cette modification, bien que les autres plates-formes semblent fonctionner correctement. (Correctif apporté par David Raftis. Revu par David Steele.)
Améliorations :
- Implémentation TLS non bloquante. (Révisé par Slava Moudry, Cynthia Shang, Stephen Frost.)
- Limite uniquement la taille de copie des fichiers journalisés WAL. Le comportement précédent pouvait entraîner une troncature de
postgresql.confou depostgresql.auto.confdans la sauvegarde. (Révisé par Cynthia Shang.) - Les options de keep-alive TCP sont configurables. (Suggéré par Marc Cousin.)
- Ajoute l’option
io-timeout. (Révisé par Cynthia Shang.)
Notes de version v2.25
LZ4 Prise en charge de la compression
Sortie le 26 mars 2020
Fonctionnalités :
- Ajouter la prise en charge de la compression lz4. Notez que la configuration de
compress-type=lz4rendra les nouvelles sauvegardes et archives incompatibles (non restaurables) avec les versions antérieures de pgBackRest. (Révisé par Cynthia Shang.) - Ajouter l’option
--dry-runà la commandeexpire. Utilisez l’option dry-run pour visualiser les sauvegardes/archives qui seraient supprimées par la commandeexpiresans effectuer de suppression réelle. (Contribué par Cynthia Shang, Luca Ferrari. Révisé par David Steele. Suggéré par Marc Cousin.)
Améliorations :
- Améliorer les performances de la construction du manifeste distant. (Suggéré par Jens Wilke.)
- Corriger la détection des options keepalive sous Linux. (Contribué par Marc Cousin. Revu par David Steele.)
- Ajouter la détection de l’hôte dans configure pour définir correctement les drapeaux standards. (Contribué par Marc Cousin. Revu par David Steele.)
- Supprimer les options
compress/compress-leveldes commandes où elles ne sont pas utilisées. Ces commandes (par exemplerestore,archive-get) n’ont jamais utilisé les options de compression mais autorisaient leur passage en ligne de commande. Elles généreront désormais une erreur si ces options sont passées en ligne de commande. Si de telles erreurs se produisent, supprimez les options inutilisées. (Revu par Cynthia Shang.) - Limite la taille de copie des fichiers de sauvegarde à la taille indiquée au démarrage de la sauvegarde. Si un fichier augmente de taille pendant la sauvegarde, il sera reconstruit par lecture des WAL lors de la restauration, il n’est donc pas nécessaire de copier les données supplémentaires. (Revu par Cynthia Shang.)
Notes de version v2.24
Sélection automatique de l’ensemble de sauvegarde pour la cible de temps
Sortie le 25 février 2020
Correctifs de bogues :
- Empêcher la création de processus orphelins dans les commandes d’archive asynchrones. (Révisé par Stephen Frost. Signalement par Adam Brusselback, ejberdecia.)
- Erreur lorsque
archive-get/archive-push/restorene sont pas exécutés sur un hôte PostgreSQL. (Révisé par Stephen Frost. Signalement par Jesper St John.) - Lire le contenu HTTP jusqu’à la fin lorsque la taille ou le codage n’est pas spécifié. (Révisé par Cynthia Shang. Signalement par Christian ROUX.)
- Corriger la reprise lorsque la sauvegarde reprise a été créée par Perl. Dans ce cas, la sauvegarde reprise doit être ignorée, mais le code C n’était pas en mesure de charger le manifeste partiel écrit par Perl car le format diffère légèrement. Ajouter des validations pour détecter ce cas et continuer de manière correcte. (Signalement par Kacey Holston.)
Fonctionnalités :
- Sélection automatique de l’ensemble de sauvegarde lors d’une restauration lorsque cible de temps est spécifiée. La sélection automatique n’est effectuée que lorsque
--setn’est pas précisé. Si aucun ensemble de sauvegarde correspondant à l’heure cible n’est trouvé, l’ensemble de sauvegarde le plus récent (par défaut) sera utilisé. (Contribué par Cynthia Shang. Revu par David Steele.)
Améliorations :
- Ignorer le fichier temporaire
pg_internal.initpendant la sauvegarde. (Révisé par Cynthia Shang. Suggéré par Michael Paquier.) - Ajouter davantage de validations du manifeste lors de
backup. (Révisé par Cynthia Shang.)
Améliorations de la documentation :
- Empêcher le bot de verrouillage d’ajouter des commentaires aux problèmes verrouillés. (Suggéré par Christoph Berg.)
Notes de version v2.23
Correction de bogue
Sortie le 27 janvier 2020
Correctifs de bogues :
- Corrige les fichiers manquants qui corrompent le manifeste. Si un fichier a été supprimé par PostgreSQL pendant la sauvegarde (ou s’il manquait sur le serveur de repli), le fichier suivant pourrait ne pas être copié ni mis à jour dans le manifeste. Si cela s’est produit, la sauvegarde générerait une erreur lors de sa restauration. (Révisé par Cynthia Shang. Signalement par Vitaliy Kukharik.)
Améliorations :
- Utilisez
pkg-configà la place dexml2-configpour les options de compilation de libxml2. (Contribué par David Steele, Adrian Vondendriesch.) - Les sommes de contrôle de validation sont définies dans le manifeste sur
backup/restore. (Révisé par Cynthia Shang.)
Notes de version v2.22
Correction de bogue
Sortie le 21 janvier 2020
Correctifs de bogues :
- Corriger une erreur de conversion de timeline. La timeline est nécessaire pour vérifier les segments WAL dans l’archive après une sauvegarde. La conversion a été effectuée à partir de
10au lieu de16, ce qui a entraîné des erreurs lorsque la timeline était ≥0xA. (Signalé par Lukas Ertl, Eric Veldhuyzen.)
Notes de version v2.21
C Migration terminée
Sortie le 15 janvier 2020
Correctifs de bogues :
- Corriger l’ignorance des options par les commandes asynchrones. Les processus asynchrones
archive-get/archive-pushne chargeaient pas les options configurées dans les sections de configuration de commande, par exemple[global:archive-get]. (Révisé par Cynthia Shang. Signalement par Urs Kramer.) - Corriger la gestion de
\dans les noms de fichiers.\n’était pas correctement échappé lors du calcul de la somme de contrôle du manifeste, ce qui empêchait le chargement du manifeste. Étant donné que les occurrences de\dans les noms de fichiers de cluster devraient être rares voire inexistantes, cela ne semble pas constituer un problème sérieux en production.
Fonctionnalités :
- pgBackRest est désormais entièrement écrit en C.
- Ajouter l’option
pg-user. Spécifie le nom d’utilisateur de la base de données lors de la connexion à PostgreSQL. Si non spécifié, pgBackRest se connecte avec l’utilisateur système local ouPGUSER, ce qui était le comportement précédent. (Contribué par Mike Palmiotto. Revu par David Steele.) - Permettre les URI au format chemin dans le pilote S3.
Améliorations :
- La commande
backupest entièrement implémentée en C. (Révisé par Cynthia Shang.)
Notes de version v2.20
Correctifs de bogues
Sortie le 12 décembre 2019
Correctifs de bogues :
Corriger archive-push/archive-get lorsque
PGDATAest un lien symbolique. Ces commandes tentaient d’utilisercwd()commePGDATAmais cela aurait été en désaccord avec le chemin configuré dans pgBackRest siPGDATAétait un lien symbolique. Sicwd()ne correspond pas au chemin pgBackRest, effectuez un appel àchdir()vers le chemin et assurez-vous que le prochaincwd()correspond au résultat de l’appel initial. (Signalé par Stephen Frost, Milosz Suchy.)Corriger la liste de références lors de la reconstruction de
backup.infodans la commandeexpire. Étant donné que la commandebackuputilise encore la version Perl de la reconstruction, ce problème ne se manifestera que si 1) une sauvegarde est manquante dansbackup.infoet 2) la commandeexpireest exécutée directement au lieu d’être exécutée aprèsbackupcomme d’habitude. Cette combinaison peu probable d’événements signifie que ce problème est probablement sans incidence en production.Corriger le plantage (segfault) en cas de fin inattendue (EOF) lors de la décompression gzip. (Signalé par Stephen Frost.)
Notes de version v2.19
C Migrations et corrections de bogues
Sortie le 12 novembre 2019
Correctifs de bogues :
- Corriger le délai d’attente distant lors d’une restauration incrémentielle. Lorsqu’une restauration incrémentielle est effectuée sur un cluster largement inchangé, le serveur distant peut expirer si aucun fichier n’est récupéré depuis le dépôt dans un délai de
protocol-timeout. Ajouter des messages de maintien de connexion pour éviter l’expiration du serveur distant. (Signalé par James Sewell, Jens Wilke.) - Corriger la gestion des en-têtes HTTP répétés. Lorsque des en-têtes HTTP sont répétés, ils doivent être traités comme équivalents à un seul en-tête séparé par des virgules, plutôt que de générer une erreur, ce qui était le comportement précédent. (Signalé par donicrosby.)
Améliorations :
- La sortie JSON de la commande
infon’est plus formatée de manière lisible. Les systèmes de surveillance peuvent ainsi plus facilement traiter le JSON sans sauts de ligne. Des outils externes tels quejqpeuvent être utilisés pour formater la sortie si nécessaire. (Contribué par Cynthia Shang. Revu par David Steele.) - La commande
checkest entièrement implémentée en C. (Contribué par Cynthia Shang. Revu par David Steele.)
Améliorations de la documentation :
- Documentez comment contribuer à pgBackRest. (Contribution de Cynthia Shang, David Steele.)
- Documentez la version maximale prise en charge par l’option
auto-stop. (Contribution de Brad Nicholson. Relecture par David Steele.)
Améliorations de la suite de tests :
- Corriger le chemin du conteneur utilisé lors de
--vm=none. (Suggéré par Stephen Frost.) - Corriger le décalage d’heure dans le test expect. (Suggéré par Stephen Frost.)
- Ne plus générer automatiquement le code libc intégré par défaut. (Suggéré par Stephen Frost.)
Notes de version v2.18
Prise en charge de PostgreSQL 12
Sortie le 1er octobre 2019
Fonctionnalités :
- Prise en charge de PostgreSQL 12.
- Ajouter l’option
setde la commandeinfopour produire une sortie texte détaillée. Les informations supplémentaires comprennent les bases de données utilisables pour une restauration sélective, ainsi qu’une liste des tablespaces et des liens symboliques avec leurs destinations par défaut. (Contribution de Cynthia Shang. Révisé par David Steele. Suggéré par Stephen Frost et ejberdecia.) - Ajouter le type de restauration
standby. Il ajoute automatiquement standby_mode=on à recovery.conf pour PostgreSQL < 12 et créestandby.signalpour PostgreSQL ≥ 12, fournissant ainsi une interface commune aux versions de PostgreSQL. (Révisé par Cynthia Shang.)
Améliorations :
- La commande
restoreest entièrement implémentée en C. (Révisé par Cynthia Shang.)
Améliorations de la documentation :
- Documentez la relation entre
db-timeoutetprotocol-timeout. (Contribution de Cynthia Shang. Relecture par David Steele. Proposition de James Chanco Jr.) - Ajoutez des précisions documentaires concernant les dépôts de bascule. (Contribution de Cynthia Shang. Relecture par David Steele.)
- Ajoutez une FAQ sur la restauration à un instant donné basée sur le temps. (Contribution de Cynthia Shang. Relecture par David Steele.)
Notes de version v2.17
C Migrations et corrections de bogues
Sortie le 3 septembre 2019
Correctifs de bogues :
- Améliorer la construction du manifeste lent pour un très grand nombre de tables/segments. (Signalé par Jens Wilke.)
- Corriger les exclusions pour les fichiers spéciaux. (Signalé par CluelessTechnologist, Janis Puris, Rachid Broum.)
Améliorations :
- Les commandes
stanza-create/update/deletesont entièrement implémentées en C. (Contribution de Cynthia Shang. Relecture par David Steele.) - Les commandes
start/stopsont entièrement implémentées en C. (Contribution de Cynthia Shang. Relecture par David Steele.) - Créez les répertoires/fichiers de journalisation avec le mode
0750/0640. (Suggéré par Damiano Albani.)
Correctifs de bogues dans la documentation :
- Correction du paquet
yum.p.olors de l’installation d’un paquet personnalisé. (Signalé par Joe Ayers, John Harvey.)
Améliorations de la documentation :
- Compiler pgBackRest en tant qu’utilisateur non privilégié. (Suggéré par Laurenz Albe.)
Notes de version v2.16
C Migrations et corrections de bogues
Sortie le 5 août 2019
Correctifs de bogues :
- Réessayer les erreurs S3
RequestTimeTooSkewedau lieu de terminer immédiatement. (Signalé par sean0101n, Tim Garton, Jesper St John et Aleš Zelený.) - Corriger le traitement incorrect de la réponse
transfer-encodingà une requêteHEAD. (Signalé par Pavel Suderevsky.) - Corriger les violations de portée révélées par les optimisations de gcc 9. (Signalé par Christian Lange et Ned T. Crigler.)
Fonctionnalités :
- Ajouter l’option
repo-s3-portpour définir un port de service S3 non standard.
Améliorations :
- La commande
localpourbackupest entièrement implémentée en C. (Contribution de David Steele, Cynthia Shang.) - La commande
checkest implémentée en partie en C. (Revue par Cynthia Shang.)
Notes de version v2.15
Implémentation C de Expire
Sortie le 25 juin 2019
Correctifs de bogues :
- Corriger la rétention des archives qui expirait de manière trop agressive. (Correctif apporté par Cynthia Shang. Revu par David Steele. Signalement par Mohamad El-Rifai.)
Améliorations :
- La commande
expireest entièrement implémentée en C. (Contribution de Cynthia Shang. Relecture par David Steele.) - La commande
localpour la restauration est entièrement implémentée en C. - Supprimer l’utilisateur PostgreSQL codé en dur afin que
$PGUSERfonctionne. (Proposé par Julian Zhang, Janis Puris.) - Respecter l’option de configuration
--prefix. (Proposé par Daniel Westermann.) - Renommer l’option
repo-s3-verify-sslenrepo-s3-verify-tls. Le nouveau nom est préféré car pgBackRest ne prend en charge aucune version de protocole SSL (toutes sont considérées comme non sécurisées). Le nom ancien continuera d’être accepté.
Améliorations de la documentation :
- Ajouter une FAQ à la documentation. (Contribué par Cynthia Shang. Revu par David Steele.)
- Utiliser
wal_level=replicadans la documentation pour PostgreSQL ≥ 9.6. (Suggéré par Patrick McLaughlin.)
Notes de version v2.14
Correction de bogues et améliorations
Sortie le 20 mai 2019
Correctifs de bogues :
- Correction d’un plantage (segfault) lorsque
process-max> 8 pourarchive-push/archive-get. (Signalé par Jens Wilke.)
Améliorations :
- Ignorer les vérifications de base de données lorsque
stanza-deleteest utilisé avecforce. (Contribué par Cynthia Shang. Revu par David Steele. Suggéré par hatifnatt.) - Ajouter le script
configurepour une meilleure prise en charge multiplateforme.
Fonctionnalités de la documentation :
- Ajouter les guides utilisateur pour CentOS/RHEL 6/7.
Notes de version v2.13
Correctifs de bogues
Sortie le 18 avril 2019
Correctifs de bogues :
- Corriger les lectures de longueur nulle causant des problèmes avec les filtres d’E/S qui ne les attendaient pas. (Signalé par brunre01, Jens Wilke, Tomasz Kontusz, guruguruguru.)
- Corriger la fiabilité du rapport d’erreurs provenant des processus
local/remote. - Corriger les messages d’erreur Posix/CIFS qui indiquaient le mauvais nom de fichier lors d’écriture/synchronisation/fermeture.
Notes de version v2.12
Implémentation C de l’archivage par poussée
Sortie le 11 avril 2019
AVERTISSEMENT IMPORTANT : La nouvelle implémentation TLS/SSL interdit les points dans les noms de buckets S3 conformément à la RFC-2818. Cette correction de sécurité est obligatoire pour une vérification conforme du nom d’hôte.
Correctifs de bogues :
- Corriger les problèmes survenant lorsque l’option de chemin se termine par / . (Signalé par Marc Cousin.)
- Corriger les problèmes lorsque
log-level-file=offest défini pour la commandearchive-get. (Signalé par Brad Nicholson.) - Corriger le code C pour reconnaître le format d’option
host:portcomme le fait Perl. (Signalé par Kyle Nevins.) - Corriger les problèmes liés aux options de journalisation de la commande
remote/local.
Améliorations :
- La commande
archive-pushest entièrement implémentée en C. - Augmenter la limite
process-maxà999. (Suggéré par Rakshitha-BR.) - Améliorer le message d’erreur lorsque le nom d’un bucket S3 contient des points.
Améliorations de la documentation :
- Préciser que les magasins d’objets compatibles S3 sont pris en charge. (Suggéré par Magnus Hagander.)
Notes de version v2.11
Implémentation C de l’archive get
Sorti le 11 mars 2019
Correctifs de bogues :
- Correction de segments WAL tronqués éventuels en cas d’erreur survenue pendant l’écriture. (Signalé par blogh.)
- Correction de la commande info qui manquait les valeurs min/max WAL lorsque la stanza était spécifiée. (Corrigé par Stefan Fercot. Revu par David Steele.)
- Correction de la sortie JSON non conforme pour les options transmises du C au Perl. (Signalé par Leo Khomenko.)
Améliorations :
- La commande
archive-getest entièrement implémentée en C. - Activer la fonctionnalité de maintien de connexion (keep-alive) sur les versions anciennes de Perl. (Contribué par Marc Cousin. Revu par David Steele.)
- Erreur lorsqu’on passe des paramètres à une commande qui n’en accepte pas. (Suggéré par Jason O’Donnell.)
- Ajouter des indications lorsque l’on ne parvient pas à trouver un segment WAL dans l’archive. (Suggéré par Hans-Jürgen Schönig.)
- Améliorer le message d’erreur lorsque le nom d’hôte ne peut être trouvé dans un certificat. (Suggéré par James Badger.)
- Ajouter des options supplémentaires à
backup.manifestà des fins de débogage. (Contribué par blogh. Revu par David Steele.)
Améliorations de la documentation :
- Mettre à jour la version par défaut de la documentation pour PostgreSQL 10.
Notes de version v2.10
Correctifs de bogues
Sortie le 9 février 2019
Correctifs de bogues :
- Ajoute une méthode de pilote S3 non implémentée requise pour
archive-get. (Signalé par mibiio.) - Corrige la vérification de la configuration incorrecte de
pg-path. (Signalé par James Chanco Jr.)
Notes de version v2.09
Améliorations mineures et corrections de bogues
Sortie le 30 janvier 2019
Correctifs de bogues :
- Corriger le problème lié à la présence de plusieurs fichiers d’état asynchrones entraînant une erreur fatale. (Signalé par Vidhya Gurumoorthi, Joe Ayers, Douglas J Hunley.)
Améliorations :
- La commande
infoest entièrement implémentée en C. (Contribution de Cynthia Shang. Relecture par David Steele.) - Simplifier le message texte de la commande
infolorsqu’aucun stanza n’est présent. Remplacer le chemin du dépôt par « le dépôt ». - Ajouter le drapeau
_DARWIN_C_SOURCEau fichier Makefile pour les compilations sur MacOS. (Contribution de Douglas J Hunley. Relecture par David Steele.) - Mettre à jour la recherche d’adresse dans le client TLS C pour utiliser des méthodes modernes. (Proposé par Bruno Friedmann.)
- Inclure l’en-tête conforme à Posix pour
strcasecmp()etfd_set. (Proposé par ucando.)
Correctifs de bogues dans la documentation :
- Corriger le chemin du dépôt codé en dur. (Signalé par Heath Lord.)
Améliorations de la documentation :
- Préciser que le chiffrement est toujours effectué côté client. (Suggéré par Bruce Burdick.)
- Ajouter des exemples pour la construction d’un hôte de documentation.
- Permettre
ifdans les variables de manifeste, les listes et les éléments de liste.
Notes de version v2.08
Améliorations mineures et corrections de bogues
Sortie le 2 janvier 2019
Correctifs de bogues :
- Supprimer la requête d’information sur l’objet S3 immédiatement après son envoi. (Signalé par Matt Kunkel.)
- Corriger
archive-get-queue-maxpour qu’il soit de typesize. (Signalé par Ronan Dunklau.) - Ajouter un message d’erreur lorsque l’utilisateur actuel
uid/gidne correspond à aucun nom. (Signalé par Camilo Aguilar.) - Erreur lorsque
--target-action=shutdownest spécifié pour PostgreSQL < 9.5.
Améliorations :
- Activer les keepalives TCP sur les connexions S3. (Suggéré par Ronan Dunklau.)
- Réorganiser la sortie texte de la commande
infoafin que la sauvegarde la plus récente soit affichée en dernier. (Contribué par Cynthia Shang. Revu par David Steele. Suggéré par Ryan Lambert.) - Modifier les propriétaires de fichiers uniquement lorsque nécessaire.
- Masquer l’en-tête
authenticationlors de la levée d’erreurs S3. (Suggéré par Brad Nicholson.)
Améliorations de la documentation :
- Préciser quand
target-actionprend effet et la prise en charge des versions de PostgreSQL. (Suggéré par Keith Fiske.) - Préciser que la région/le point de terminaison doit être correctement configuré pour le bucket. (Suggéré par Pritam Barhate.)
- Ajouter la documentation relative à la construction de la documentation.
Notes de version v2.07
Vérification automatique de la somme de contrôle des différences de sauvegarde
Sortie le 16 novembre 2018
Correctifs de bogues :
- Corriger le problème où
archive-push-queue-maxn’était pas pris en compte en cas d’erreur de connexion. (Signalé par Lardière Sébastien.) - Corriger la taille statique du segment WAL utilisée pour déterminer si la limite de
archive-push-queue-maxa été dépassée. - Corriger l’erreur survenue après une échec d’ouverture du fichier journal lorsque le traitement doit continuer. (Signalé par vthriller.)
Fonctionnalités :
- Activer automatiquement la somme de contrôle de sauvegarde delta lorsqu’une anomalie (par exemple, un changement de timeline) est détectée. (Contribué par Cynthia Shang. Revu par David Steele.)
Améliorations :
- Réessayer toutes les erreurs S3
5xx, et non plus seulement les erreurs internes500. (Suggéré par Craig A. James.)
Notes de version v2.06
Sauvegarde incrémentielle avec somme de contrôle et prise en charge de PostgreSQL 11
Sortie le 15 octobre 2018
Correctifs de bogues :
- Corriger le codage URI manquant dans le pilote S3. (Signalé par Dan Farrell.)
- Corriger le message d’erreur incorrect pour les options en double dans les fichiers de configuration. (Signalé par Jesper St John.)
- Corriger l’erreur signalée de manière incorrecte dans
infojournalisation. Un code de retour 1 provenant dearchive-getétait enregistré comme un message d’erreur au niveauinfomais fonctionnait correctement dans les autres cas.
Fonctionnalités :
- Ajouter un delta de somme de contrôle pour les sauvegardes incrémentielles. Les sauvegardes incrémentielles utilisant un delta de somme de contrôle déterminent si les fichiers ont changé à l’aide de sommes de contrôle plutôt que de timestamps. (Contribué par Cynthia Shang. Revu par David Steele.)
- Prise en charge de PostgreSQL 11, y compris la taille configurable des segments WAL.
Améliorations :
- Ignorez tous les fichiers dans un répertoire de tablespace lié, sauf le sous-répertoire correspondant à la version actuelle de PostgreSQL. Une erreur était précédemment générée si d’autres fichiers étaient présents et non possédés par l’utilisateur PostgreSQL.
- Améliorer la commande
infoafin d’afficher le type de chiffrement de la stanza. (Contribué par Cynthia Shang. Revu par David Steele. Suggéré par Douglas J Hunley.) - Améliorer le support des caractères spéciaux dans les noms de fichiers.
- Permettre de spécifier l’option
deltadans le fichier de configuration de pgBackRest. (Contribué par Cynthia Shang. Revu par David Steele.)
Améliorations de la documentation :
- Utilisez
commanddansauthorized_hostsafin d’améliorer la sécurité SSH. (Suggéré par Stephen Frost, Magnus Hagander.) - Liste des valeurs autorisées pour l’option
buffer-sizedans la référence de configuration. (Contribué par Cynthia Shang. Revu par David Steele. Suggéré par Stéphane Schildknecht.)
Notes de version v2.05
Options de variables d’environnement et exclusion des relations temporaires/non enregistrées
Sortie le 31 août 2018
Correctifs de bogues :
- Corriger le problème où les liens relatifs dans
$PGDATApouvaient être stockés dans la sauvegarde avec un chemin incorrect. Ce problème n’affectait pas les liens absolus, et les liens relatifs vers des espaces de table étaient détectés par d’autres vérifications. (Signalé par Cynthia Shang.) - Supprimer l’option incomplètement implémentée
onlinede la commandecheck. L’opération hors ligne va à l’encontre de l’objectif de cette commande, qui est de vérifier si l’archivage et les sauvegardes fonctionnent correctement. (Signalé par Jason O’Donnell.) - Corriger le problème où les erreurs levées en C n’étaient pas journalisées lorsqu’elles étaient appelées depuis Perl. pgBackRest se terminait correctement avec le bon code d’erreur, mais ne fournissait pas de message d’erreur pour faciliter le débogage. (Signalé par Douglas J Hunley.)
- Corriger le problème survenant lorsque l’option booléenne (par exemple
delta) était spécifiée plus d’une fois. (Signalé par Yogesh Sharma.)
Fonctionnalités :
- Permet de définir n’importe quelle option via une variable d’environnement. Cela inclut les options qui pouvaient auparavant être spécifiées uniquement en ligne de commande, par exemple
stanza, ainsi que les options sensibles qui ne pouvaient pas être spécifiées en ligne de commande, par exemplerepo1-s3-key-secret. - Exclut les fichiers de relations (table/index) temporaires et non enregistrées de la sauvegarde. Implémenté à l’aide de la même logique que les correctifs ajoutant cette fonctionnalité à PostgreSQL, 8694cc96
et 920a5e50
. L’exclusion des relations temporaires est activée dans PostgreSQL ≥
9.0. L’exclusion des relations non enregistrées est activée dans PostgreSQL ≥9.1, où cette fonctionnalité a été introduite. (Contribué par Cynthia Shang. Revu par David Steele.) - Autorise l’exclusion arbitraire de répertoires et/ou de fichiers d’une sauvegarde. Une utilisation incorrecte de cette fonctionnalité peut entraîner des sauvegardes incohérentes ; lisez attentivement la documentation de
--excludeavant de l’utiliser. (Révisé par Cynthia Shang.) - Ajoute l’option
log-subprocesspour permettre la journalisation des fichiers pour les sous-processuslocaletremote. - Prise en charge de PostgreSQL 11 Beta 3.
Améliorations :
- Autoriser les fichiers de taille nulle dans le manifeste de sauvegarde pour référencer un manifeste antérieur, indépendamment de l’écart de timestamp. (Contribué par Cynthia Shang. Revu par David Steele.)
- Améliorer les performances asynchrones de
archive-get/archive-pushen vérifiant directement les fichiers d’état. (Contribué par Stephen Frost. Revu par David Steele.) - Améliorer le message d’erreur lorsque une commande manque l’option
stanza. (Suggéré par Sarah Conway.)
Correctifs de bogues dans la documentation :
- Corriger le niveau de journalisation incorrect dans la référence de l’option
log-path. (Signalé par Camilo Aguilar.)
Améliorations de la documentation :
- Cessez de tenter d’organiser les contributeurs dans
release.xmlpar nom puis prénom. Les noms des contributeurs ont toujours été présentés dans les notes de version exactement tels qu’indiqués, mais nous avons tenté d’attribuer des identifiants internes basés sur le nom puis prénom, ce qui peut être difficile à déterminer et ne présente finalement pas de sens. Inspiré par la conférence de Christophe à PostgresOpen 2017, « Les êtres humains n’ont pas de clé primaire ». (Suggéré par Christophe Pettus.)
Améliorations de la suite de tests :
- Erreur si la compilation de LibC est effectuée en dehors de l’environnement de test. LibC n’est plus requis pour les compilations de production.
Notes de version v2.04
Correction critique de bug pour la reprise de sauvegarde
Sortie le 5 juillet 2018
NOTE IMPORTANTE : Cette version corrige un bogue critique dans la fonctionnalité de reprise de sauvegarde. Toutes les sauvegardes reprises antérieures à cette version doivent être considérées comme incohérentes. Une sauvegarde sera reprise après l’échec d’une sauvegarde précédente, sauf si resume=n a été spécifié. Une sauvegarde reprise peut être identifiée en consultant le journal de sauvegarde pour le message « aborted backup of same type exists, will be cleaned to remove invalid files and resumed ». Si ce message est présent, n’utilisez pas cette sauvegarde ni aucune autre sauvegarde du même ensemble pour une restauration, et vérifiez les journaux de restauration pour savoir si une sauvegarde reprise a été restaurée. Dans ce cas, des données incohérentes peuvent être présentes dans le cluster.
Correctifs de bogues :
- Corriger un bug critique dans la reprise qui entraînait des sauvegardes incohérentes. Une régression dans
v0.82avait supprimé la comparaison des horodatages lors de la décision des fichiers à conserver de la sauvegarde interrompue lors de la reprise. Voir la note ci-dessus pour plus de détails. (Signalé par David Youatt, Yogesh Sharma, Stephen Frost.) - Corriger l’erreur dans la restauration sélective lorsque seul une base utilisateur existe dans le cluster. (Corrigé par Cynthia Shang. Revu par David Steele. Signalé par Nj Baliyan.)
- Corriger le format d’horodatage ISO-8601 non conforme dans les en-têtes d’autorisation S3. AWS et certaines passerelles toléraient un espace au lieu d’heures zéro-paddées, tandis que d’autres ne le faisaient pas. (Corrigé par Andrew Schwartz. Revu par David Steele.)
Fonctionnalités :
- Prise en charge de PostgreSQL 11 Beta 2.
Améliorations :
- Améliorer le client HTTP pour définir
content-lengthà 0 lorsque non spécifié par le serveur. S3 (et les passerelles) définissent toujourscontent-lengthoutransfer-encoding, maisHTTP 1.1n’exige pas cette valeur, et les proxies (par exemple HAProxy) peuvent ne pas inclure l’un ni l’autre. (Suggéré par Adam K. Sumner.) - Définir
search_path = 'pg_catalog'sur les connexions PostgreSQL. (Suggéré par Stephen Frost.)
Améliorations de la documentation :
- Créez une nouvelle section pour décrire la compilation de pgBackRest et effectuez la compilation sur un hôte distinct.
- Ajoutez un exemple de stratégie S3 pour restreindre les privilèges sur le bucket. (Suggéré par Douglas J Hunley, Jason O’Donnell.)
Notes de version v2.03
Exécutable unique pour le déploiement
Sortie le 22 mai 2018
Correctifs de bogues :
- Corriger un dépassement de tampon potentiel dans la gestion des messages d’erreur. (Signalé par Lætitia.)
- Corriger l’acquisition du verrou d’écriture sur l’archive pour la commande synchronisée
archive-get. (Signalé par uspen.)
Améliorations :
- Intégrer directement les fonctions C exportées et les modules Perl dans l’exécutable pgBackRest.
- Utilisez
time_tà la place de__time_tpour une meilleure portabilité. (Suggéré par Nick Floersch.) - Afficher le temps d’exécution total en millisecondes à la fin de la commande.
Notes de version v2.02
Archivage asynchrone parallèle et configuration incluse
Sortie le 6 mai 2018
Correctifs de bogues :
- Corriger la synchronisation récursive des répertoires, qui s’exécutait de manière récursive alors que seul le répertoire spécifié devait être synchronisé. (Signalé par Craig A. James.)
- Corriger l’erreur « chemin introuvable » levée par
archive-copylors des sauvegardes incrémentielles ou différentielles. (Signalé par yummyliu, Vitaliy Kukharik.) - Corriger l’échec de construction du manifeste lorsque deux ou plusieurs fichiers dans
PGDATAsont liés au même répertoire. (Signalé par Vitaliy Kukharik.) - Corriger l’échec de la restauration incrémentielle lorsque un fichier lié est manquant.
- Corriger l’affichage des options clé/valeur et des listes dans l’aide. (Signalé par Clinton Adams.)
Fonctionnalités :
- Ajouter un
archive-getasynchrone et parallèle. Cette fonctionnalité maintient une file d’attente de segments WAL afin de réduire la latence lorsque PostgreSQL demande un segment WAL via la commande restore_command. - Ajouter la prise en charge de fichiers de configuration pgBackRest supplémentaires. Le répertoire est spécifié par l’option
--config-include-path. Ajouter l’option--config-pathpour remplacer le chemin de base par défaut des options--configet--config-include-path. (Contribué par Cynthia Shang. Revu par David Steele.) - Ajouter l’option
repo-s3-tokenpour permettre la configuration de jetons d’identité temporaires. pgBackRest ne dispose actuellement d’aucun moyen de demander de nouvelles identités, de sorte que toute commande (par exemplebackup,restore) doit s’achever avant l’expiration des identités. (Contribué par Yogesh Sharma. Revu par David Steele.)
Améliorations :
- Mettez à jour les options
archive-push-queue-max,manifest-save-thresholdetbuffer-sizepour accepter des valeurs enKB,MB,GB,TBouPBoù le multiplicateur est une puissance de1024. (Contribué par Cynthia Shang. Revu par David Steele.) - Améliorez l’efficacité de la synchronisation du chemin de sauvegarde/restauration. Le balayage de tout le répertoire peut être très coûteux si de nombreuses petites tables sont présentes. Le manifeste de sauvegarde contient la liste des chemins ; utilisez-le pour effectuer les synchronisations au lieu de balayer le chemin de sauvegarde/restauration.
- Affichez les paramètres de commande ainsi que les options de commande dans le message initial du journal d’information.
- Renommez l’option archive-queue-max en archive-push-queue-max. Cette modification est cohérente avec la nouvelle option
archive-get-queue-max. Le nom d’option ancien sera toujours accepté.
Correctifs de bogues dans la documentation :
- Mettre à jour la documentation pour inclure la prise en charge des systèmes 32 bits et les précautions associées. La prise en charge des systèmes 32 bits a été ajoutée à la version 1.26. (Signalé par Viorel Tabara.)
Améliorations de la documentation :
- Ajouter des exemples de surveillance utilisant PostgreSQL et jq. (Suggéré par Stephen Frost, Brian Faherty.)
- Ajouter un exemple d’utilisation de la section commande dans la configuration de l’archivage. (Suggéré par Christophe Courtois.)
- Supprimer la documentation décrivant
info --output=jsoncomme expérimentale. - Mettre à jour la description obsolète de l’option
spool-path.
Fonctionnalités du jeu de tests :
- Utilisez lcov pour le rapport de couverture des tests unitaires en C. Passez de Devel::Cover car celui-ci ne rapportait pas la couverture des branches pour les rapports convertis à partir de gcov. Une couverture de branche incomplète pour un module génère désormais une erreur. La couverture des tests unitaires n’est pas affichée dans le rapport à moins qu’elle ne soit incomplète, soit en couverture d’instructions, soit en couverture de branches.
Notes de version v2.01
Corrections de bogues mineurs et améliorations
Sortie le 19 mars 2018
Correctifs de bogues :
- Correction des options
--target-actionet--recovery-optionsignalées comme non valides lors de la restauration avec--type=immediate. (Signalé par Brad Nicholson.) - Erreur immédiate lorsqu’une option sécurisée (par exemple
repo1-s3-key) est passée en ligne de commande. Comme pgBackRest ne transmettait pas les options sécurisées aux sous-processus, une erreur obscure était générée. L’erreur nouvelle est bien plus claire et fournit des indications sur la manière de résoudre le problème. Mise à jour de la documentation de la commande pour omettre les options sécurisées qui ne peuvent pas être spécifiées en ligne de commande. (Signalé par Brad Nicholson.) - Correction du problème de passage de
--no-configà Perl intégré. (Signalé par Ibrahim Edib Kokdemir.) - Correction du problème où la spécification de
log-level-stderr>warnentraînait une erreur du processuslocal/remoteà la sortie, en raison de la présence de données sur stderr alors qu’aucune n’était attendue. La valeur maximale pour un processuslocal/remoteest désormaiserror, car il n’existe aucune raison pour que ces processus émettent des avertissements. (Signalé par Clinton Adams.) - Correction du test de manifest dans la commande
checklorsque des espaces de table sont présents. (Correctif apporté par Cynthia Shang. Revu par David Steele. Signalement par Thomas Flatley.)
Améliorations :
- Erreur lorsque plusieurs arguments sont définis dans le fichier de configuration pour une option qui ne prend pas plusieurs arguments. (Contribué par Cynthia Shang. Revu par David Steele.)
- Supprimer les commandes sudo superflues dans
src/Makefile. (Contribué par Adrian Vondendriesch. Revu par David Steele.)
Améliorations de la documentation :
- Afficher l’index dans les exemples pour les options indexées, par exemple
repo-*,pg-*. (Suggéré par Stephen Frost.) - Simplifier la table des matières sur la page de commande en ne listant que les commandes. (Suggéré par Stephen Frost.)
- Supprimer les références à la bibliothèque C étant facultative.
Fonctionnalités du jeu de tests :
- Ajouter les versions du paquet CentOS/RHEL.
- Utiliser clang pour l’analyse statique du code. Rien trouvé initialement, hormis certaines fonctions qui auraient dû être marquées
__noreturn__.
Notes de version v2.00
Améliorations des performances pour l’envoi d’archive
Sortie le 23 février 2018
Fonctionnalités :
- La commande
archive-pushest désormais partiellement écrite en C, ce qui permet à PostgreSQLarchive_commandde s’exécuter de manière significativement plus rapide lors du traitement des messages d’état provenant du processus d’archive asynchrone. (Révisé par Cynthia Shang.)
Améliorations :
- Améliorer la commande
checkafin de vérifier que le manifeste de sauvegarde peut être construit. (Contribué par Cynthia Shang. Revu par David Steele.) - Améliorer les performances du client HTTPS. Le tamponnage prend désormais en compte les
pendingoctets sur la socket (lorsqu’ils sont présents) plutôt que de se fier uniquement àselect(). Dans certains cas, les derniers octets n’étaient pas envoyés avant la fermeture de la connexion. - Améliorer les performances de suppression sur S3. La constante
S3_BATCH_MAXavait été remplacée par une valeur codée en dur de 2, probablement durant des tests. - Permettre la réinitialisation à la valeur par défaut de toute option non liée à la ligne de commande depuis la ligne de commande. Cela permet de réinitialiser les options dans
pgbackrest.confà leur valeur par défaut, réduisant ainsi la nécessité d’écrire de nouveaux fichiers de configuration pour des besoins spécifiques. - La bibliothèque C est désormais requise. Cela élimine le chargement conditionnel et simplifie le développement de nouvelles fonctionnalités de la bibliothèque.
- L’exécutable
pgbackrestest désormais un binaire C au lieu d’un script Perl. Cela permet à certaines commandes critiques en termes de temps (commearchive-pushen mode asynchrone) de s’exécuter plus rapidement. - Renommer les options
db-*enpg-*et les optionsbackup-*enrepo-*afin d’améliorer la cohérence. Les optionsrepo-*sont désormais indexées, bien qu’actuellement une seule soit autorisée.
Fonctionnalités de la documentation :
- Tous les clusters dans la documentation sont initialisés avec des sommes de contrôle.
Améliorations de la documentation :
- Liste les noms d’option obsolètes dans la documentation et dans l’aide en ligne de commande.
- Précisez que les buckets S3 doivent être créés par l’utilisateur. (Suggéré par David Youatt.)
Notes de version v1.29
Correction critique de bug pour la reprise de sauvegarde
Sortie le 5 juillet 2018
NOTE IMPORTANTE : Cette version corrige un bogue critique dans la fonctionnalité de reprise de sauvegarde. Toutes les sauvegardes reprises antérieures à cette version doivent être considérées comme incohérentes. Une sauvegarde sera reprise après l’échec d’une sauvegarde précédente, sauf si resume=n a été spécifié. Une sauvegarde reprise peut être identifiée en consultant le journal de sauvegarde pour le message « aborted backup of same type exists, will be cleaned to remove invalid files and resumed ». Si ce message est présent, n’utilisez pas cette sauvegarde ni aucune autre sauvegarde du même ensemble pour une restauration, et vérifiez les journaux de restauration pour savoir si une sauvegarde reprise a été restaurée. Dans ce cas, des données incohérentes peuvent être présentes dans le cluster.
Correctifs de bogues :
- Corriger un bug critique dans la reprise qui entraînait des sauvegardes incohérentes. Une régression dans
v0.82avait supprimé la comparaison des horodatages lors de la décision des fichiers à conserver de la sauvegarde interrompue lors de la reprise. Voir la note ci-dessus pour plus de détails. (Signalé par David Youatt, Yogesh Sharma, Stephen Frost.) - Corriger le format d’horodatage ISO-8601 non conforme dans les en-têtes d’autorisation S3. AWS et certaines passerelles acceptaient un espace au lieu d’un zéro pour les heures, tandis que d’autres ne le faisaient pas. (Corrigé par Andrew Schwartz. Revu par David Steele.)
- Corriger les synchronisations de répertoires qui s’exécutaient de manière récursive alors que seul le répertoire spécifié devait être synchronisé. (Signalé par Craig A. James.)
- Corriger la signalisation d’options
--target-actionet--recovery-optioncomme étant non valides lors de la restauration avec--type=immediate. (Signalé par Brad Nicholson.) - Corriger
archive-copyqui provoquait une erreur « chemin introuvable » pour les sauvegardes incrémentielles ou différentielles. (Signalé par yummyliu, Vitaliy Kukharik.) - Corriger l’échec de la construction du manifeste lorsque deux ou plusieurs fichiers dans
PGDATAsont liés au même répertoire. (Signalé par Vitaliy Kukharik.) - Corriger l’échec de la restauration incrémentielle lorsque un fichier lié était manquant.
- Corriger l’erreur lors d’une restauration sélective lorsque seul une base utilisateur existe dans le cluster. (Corrigé par Cynthia Shang. Revu par David Steele. Signalé par Nj Baliyan.)
Améliorations :
- Améliorer le client HTTP pour définir
content-lengthà 0 lorsque non spécifié par le serveur. S3 (et les passerelles) définissent toujourscontent-lengthoutransfer-encoding, maisHTTP 1.1ne l’exige pas, et les proxies (par exemple HAProxy) peuvent ne pas inclure l’un ni l’autre. (Suggéré par Adam K. Sumner.) - Améliorer les performances du client HTTPS. Le tampon prend désormais en compte les
pendingoctets sur la socket (lorsqu’ils sont présents) plutôt que de se fier uniquement àselect(). Dans certains cas, les derniers octets n’étaient pas envoyés avant la fermeture de la connexion. - Améliorer les performances de suppression S3. La constante
S3_BATCH_MAXavait été remplacée par une valeur codée en dur de 2, probablement pendant les tests. - Optimiser la synchronisation des chemins de sauvegarde/restauration. Scanner tout le répertoire peut être très coûteux si de nombreuses petites tables sont présentes. Le manifeste de sauvegarde contient la liste des chemins, donc il est désormais utilisé pour effectuer les synchronisations au lieu de scanner le chemin de sauvegarde/restauration. Supprimer la fonctionnalité de synchronisation récursive des chemins, qui n’est plus utilisée.
Correctifs de bogues dans la documentation :
- Mettre à jour la documentation pour inclure la prise en charge des systèmes 32 bits et les précautions associées. La prise en charge des systèmes 32 bits a été ajoutée à la version 1.26. (Signalé par Viorel Tabara.)
Améliorations de la documentation :
- Préciser que les buckets S3 doivent être créés par l’utilisateur. (Suggéré par David Youatt.)
- Mettre à jour la description obsolète de l’option
spool-path.
Notes de version v1.28
Suppression d’une stanza
Sortie le 1er février 2018
Correctifs de bogues :
- Corrigé l’impossibilité de restaurer une base de données unique contenue dans un tablespace à l’aide de –db-include. (Corrigé par Cynthia Shang. Revu par David Steele. Signalement par Chiranjeevi Ravilla.)
- Assurez-vous que la dernière version de
db-idest sélectionnée lors du correspondance entrearchive.infoetbackup.info. Cela garantit une correspondance correcte en cas de doublons desystem-idetdb-version(par exemple, après un retour en arrière d’unepg_upgrade). (Corrigé par Cynthia Shang. Revu par David Steele. Signalement par Adam K. Sumner.) - Corrigé le message d’erreur excessivement verbeux lors de la signalisation d’une commande non valide. (Signalement par Jason O’Donnell.)
Fonctionnalités :
- Ajouter la commande
stanza-deletepour nettoyer les stanzas inutilisés. (Contribué par Cynthia Shang. Revu par David Steele. Suggéré par Magnus Hagander.)
Améliorations :
- Améliorer la commande
stanza-createafin qu’elle ne génère pas d’erreur lorsque la stanza existe déjà. (Contribué par Cynthia Shang. Revu par David Steele.)
Améliorations de la documentation :
- Mettre à jour la documentation
stanza-create --forcepour insister sur la prudence à observer lors de son utilisation. (Suggéré par Jason O’Donnell.)
Notes de version v1.27
Correctifs de bogues et documentation
Sortie le 19 décembre 2017
Correctifs de bogues :
Corrigé un problème qui masquait les erreurs de localité pour
backupetrestore. Lorsqu’un hôte de sauvegarde est présent, les sauvegardes doivent être autorisées uniquement sur l’hôte de sauvegarde et les restaurations uniquement sur l’hôte de base de données, sauf si une configuration alternative est définie pour ignorer l’hôte distant. (Signalé par Lardière Sébastien.)Corrigé un problème où les WAL n’étaient pas expirées sous PostgreSQL 10. Ce problème était dû à une expression régulière incorrecte qui supposait que toutes les versions majeures de PostgreSQL étaient au format X.X. (Signalé par Adam Brusselback.)
Corrigé un problème où l’option
--no-confign’était pas transmise aux processus enfants. Cela signifiait que les processus enfants lisaient encore le fichier de configuration local et pouvaient provoquer des comportements inattendus.Corrigé la commande
infoafin d’éliminer la sortie"db (prior)"lorsque aucune sauvegarde ou archive n’existe pour une version antérieure du cluster. (Corrigé par Cynthia Shang. Revu par David Steele. Signalé par Stephen Frost.)
Fonctionnalités de la documentation :
- Documentez la relation entre les options
archive-copyetarchive-check. (Suggéré par Markus Nullmeier.) - Améliorez la documentation de référence de
archive-copy.
Notes de version v1.26
Chiffrement du dépôt
Sortie le 21 novembre 2017
Correctifs de bogues :
Corrigé un problème pouvant entraîner l’échec du copiage de manifestes volumineux lors d’une restauration. (Signalé par Craig A. James.)
Corrigé le décalage WAL incorrect sur les architectures 32 bits. (Corrigé par Javier Wilson. Revu par David Steele.)
Corrigé un problème de récupération du WAL pour les anciennes versions de la base de données. Après une
stanza-upgrade, il devrait toujours être possible de restaurer des sauvegardes de la version précédente et de procéder à une récupération avecarchive-get. Toutefois, archive-get ne vérifiait que la dernière version/id de base de données et échouait. Correction également de certains problèmes lorsque la même version/id de base de données apparaît plusieurs fois dans l’historique. (Corrigé par Cynthia Shang. Revu par David Steele. Signalé par Clinton Adams.)Corrigé un problème concernant la définition correcte des groupes de sauvegarde lors d’une restauration. Si la sauvegarde ne parvient pas à mapper un groupe à un nom, elle stocke le groupe dans le manifeste sous la forme
falsepuis utilise soit le propriétaire de $PGDATA pour définir le groupe lors de la restauration, soit, à défaut, le groupe de l’utilisateur courant. Cette logique ne fonctionnait pas correctement car le groupe sélectionné écrasait l’utilisateur lors de la restauration, laissant le groupe indéfini et l’utilisateur incorrectement défini comme le groupe. (Signalé par Jeff McCormick.)Corrigé un problème de passage de paramètres aux hôtes distants. Lorsqu’un nombre supérieur à un base de données était spécifié, le chemin, le port et le chemin du socket étaient passés pour db1 indépendamment de la base de données réellement ciblée. (Signalé par uspen.)
Fonctionnalités :
- Prise en charge du chiffrement du dépôt. (Contribué par Cynthia Shang, David Steele.)
Améliorations :
- Désactivez le filtre gzip lorsque
--compress-level-network=0. Ce filtre était utilisé avec un niveau de compression défini à 0, ce qui ajoutait une surcharge sans aucun bénéfice. - Amélioration des performances de décompression pour le filtre gzip.
Fonctionnalités de la documentation :
- Ajouter un modèle pour améliorer les informations initiales collectées lors de la soumission de rapports. (Contribué par Cynthia Shang. Revu par David Steele.)
Améliorations de la documentation :
- Préciser l’utilisation de l’option
archive-timeoutet décrire la différence avec le paramètre archive_timeout de PostgreSQL. (Contribué par Cynthia Shang. Revu par David Steele. Suggéré par Keith Fiske.)
Fonctionnalités du jeu de tests :
- Tests automatisés pour l’architecture 32 bits i386/i686.
Notes de version v1.25
Améliorations des performances S3
Sortie le 24 octobre 2017
Correctifs de bogues :
- Corriger les paramètres personnalisés pour l’option
compress-levelignorés. (Signalé par Jens Wilke.) - Supprimer l’erreur détectée lors de la détection de lignes temporelles chevauchantes. Les lignes temporelles chevauchantes sont valides dans de nombreuses scénarios de récupération à un instant donné (PITR). (Signalé par blogh.)
- Corriger les cas où
database-idn’était pas rendu comme un entier dans la sortie JSON d’information. (Corrigé par Cynthia Shang. Revu par David Steele. Signalé par Jason O’Donnell.)
Fonctionnalités :
- Améliorer les performances des requêtes de liste sur S3. Toute portion littérale au début d’une expression de filtre est utilisée pour générer un préfixe de recherche, ce qui permet souvent de maintenir la requête suffisamment petite pour éviter les limitations de débit. (Suggéré par Mihail Shvein.)
Fonctionnalités du jeu de tests :
- Ajouter des tests de performance I/O.
Notes de version v1.24
Nouvelles exclusions de sauvegarde
Sortie le 28 septembre 2017
Correctifs de bogues :
Corrigé un problème où des avertissements étaient émis à la place de messages de journal de priorité inférieure lors de la sauvegarde à partir de l’initialisation en mode redondant. (Signalé par uspen.)
Corrigé un problème où certaines options
db-*(par exempledb-port) n’étaient pas transmises aux hôtes distants. (Signalé par uspen.)
Fonctionnalités :
- Exclure le contenu de
pg_snapshots,pg_serial,pg_notifyetpg_dynshmemde la sauvegarde, car ils sont régénérés au démarrage. - Exclure les fichiers
pg_internal.initde la sauvegarde, car ils sont régénérés au démarrage.
Améliorations :
- Ouvrir le fichier de journal après que le processus asynchrone est complètement séparé du processus principal afin d’éviter que le processus principal n’écrive également dans le fichier. (Suggéré par Jens Wilke.)
Fonctionnalités de la documentation :
- Configurer l’accès SSH sans mot de passe.
Améliorations de la documentation :
- Renommer master en primary dans la documentation pour l’aligner sur la convention PostgreSQL.
Notes de version v1.23
Réplicas multiples et prise en charge de PostgreSQL 10
Sortie le 3 septembre 2017
Correctifs de bogues :
- Corrigé un problème pouvant entraîner l’abandon de la compression sur les fichiers en croissance. (Signalé par Jesper St John, Aleksandr Rogozin.)
- Corrigé un problème empêchant l’envoi des messages d’activité (keep-alives) depuis le processus local vers le serveur distant. (Signalé par William Cox.)
Fonctionnalités :
- Jusqu’à sept serveurs secondaires peuvent être configurés pour effectuer une sauvegarde à partir d’un secondaire. (Contribution de Cynthia Shang. Relecture par David Steele.)
- Prise en charge de PostgreSQL 10.
- Permettre
content-length(en plus du codage par tronçons) lors de la lecture des données XML afin d’améliorer la compatibilité avec les passerelles S3 tierces. (Suggéré par Victor Gdalevich.)
Améliorations :
- Augmenter le délai d’attente HTTP pour S3.
- Ajouter des réessais HTTP pour renforcer la résilience face aux erreurs réseau transitoires de S3.
Correctifs de bogues dans la documentation :
- Corrigé la génération de documentation pour inclure des résumés de section sur la page Configuration. (Correctif apporté par Cynthia Shang. Revu par David Steele.)
Notes de version v1.22
Correctif du réessai S3
Sortie le 9 août 2017
Correctifs de bogues :
- Correctif d’un problème d’authentification dans la répétition des tentatives S3.
Notes de version v1.21
Amélioration de la sortie d’informations et option de port SSH
Sortie le 8 août 2017
Correctifs de bogues :
- Le répertoire
archive_statusest désormais régénéré lors d’une restauration afin de prendre en charge PostgreSQL 8.3, qui ne le recrée pas automatiquement comme le font les versions plus récentes. (Signalé par Stephen Frost.) - Corrigé un problème pouvant laisser derrière lui un répertoire d’archive vide pour une ancienne version de PostgreSQL après une
stanza-upgrade. (Corrigé par Cynthia Shang. Revu par David Steele.)
Fonctionnalités :
Modifié la commande
info(sortie texte et JSON) pour afficher l’identifiant d’archive ainsi que les valeurs minimale et maximale de WAL actuellement présentes dans l’archive pour la version actuelle du cluster de base de données et, le cas échéant, pour la version précédente. (Contribué par Cynthia Shang. Revu par David Steele.)Ajout des options
--backup-ssh-portet--db-ssh-portpour prendre en charge les ports SSH non par défaut. (Contribué par Cynthia Shang. Revu par David Steele.)
Améliorations :
- Réessayer lorsque S3 retourne une erreur interne (500).
Correctifs de bogues dans la documentation :
- Précisez la description de
--onlineen fonction du contexte de la commande.
Fonctionnalités de la documentation :
- Ajouter la création de
/etc/pgbackrest.confaux instructions d’installation manuelle.
Améliorations de la documentation :
- Déplacer les options du dépôt dans une section séparée dans l’aide en ligne de commande. (Suggéré par Stephen Frost.)
Notes de version v1.20
Correctif de bug critique 8.3/8.4
Sortie le 27 juin 2017
AVERTISSEMENT IMPORTANT : les installations de PostgreSQL 8.3 et 8.4 utilisant des espaces de tables doivent passer immédiatement à une version supérieure à v1 et effectuer une sauvegarde complète. Un bogue empêchait les espaces de tables d’être sauvegardés sur ces versions uniquement. PostgreSQL ≥ 9.0
Correctifs de bogues :
- Corrigé un problème empêchant la sauvegarde des espaces de table sur PostgreSQL ≤ 8.4.
- Corrigé le flag manquant dans la compilation de la bibliothèque C, qui entraînait une incompatibilité binaire sur les systèmes 32 bits. (Signalé par Adrian Vondendriesch.)
Fonctionnalités :
- Ajoutez les options
s3-repo-ca-pathets3-repo-ca-filepour prendre en charge les systèmes où les autorités de certification ne sont pas automatiquement trouvées parIO::Socket::SSL, par exemple RHEL7, ou pour charger des autorités de certification personnalisées. (Suggéré par Scott Frazer.)
Fonctionnalités du jeu de tests :
- Ajouter la génération de la documentation dans le CI.
Notes de version v1.19
Prise en charge S3
Sorti le 12 juin 2017
Correctifs de bogues :
- Corrigé la commande
infoafin que les valeurs minimale et maximale de l’archive WAL affichées correspondent à la version actuelle de la base de données. (Corrigé par Cynthia Shang. Revu par David Steele.) - Corrigé la commande
backupafin que l’optionbackup-standbysoit réinitialisée (et que la sauvegarde se poursuive sur le principal) si le serveur secondaire n’est pas configuré et/ou inaccessible. (Corrigé par Cynthia Shang. Revu par David Steele.) - Corrigé les avertissements de configuration provoqués par un processus distant entraînant des erreurs dans le processus principal. (Corrigé par Cynthia Shang. Revu par David Steele.)
Fonctionnalités :
- Prise en charge du dépôt Amazon S3. (Révisé par Cynthia Shang.)
Correctifs de bogues dans la documentation :
- Option
max-archive-mbinvalide modifiée dans la référence de configuration versarchive-queue-max. - Correction de l’absence de
sudodans la section d’installation. (Correctif apporté par Lætitia. Revu par David Steele.)
Notes de version v1.18
Améliorations de la mise à jour, du réaménagement et du verrouillage de la stanza
Sortie le 12 avril 2017
Correctifs de bogues :
- Corrigé un problème où les opérations en lecture seule utilisant des processus workers locaux (par exemple
restore) créaient des verrous d’écriture pouvant interférer avec le parallélisme dearchive-push. (Signalé par Jens Wilke.)
Fonctionnalités :
Ajouté la commande stanza-upgrade pour fournir un mécanisme de mise à jour d’une stanza après une mise à jour vers une nouvelle version majeure de PostgreSQL. (Contribué par Cynthia Shang. Revu par David Steele.)
Ajouté la validation de
pgbackrest.confafin d’afficher des avertissements si les options ne sont pas valides ou ne se trouvent pas dans la section correcte. (Contribué par Cynthia Shang. Revu par David Steele.)
Améliorations :
- Simplifier le schéma de verrouillage. À présent, seul le processus principal détient les verrous d’écriture (pour les commandes
archive-pushetbackup) et non plus tous les processus workers locaux et distants comme auparavant. - Ne plus définir les horodatages des fichiers dans les répertoires de sauvegarde pour qu’ils correspondent aux horodatages du répertoire du cluster. Cela était initialement fait pour permettre la reprise de sauvegarde, mais ce processus est désormais implémenté à l’aide de sommes de contrôle.
- Amélioration du message d’erreur lorsque la commande
restoredétecte la présence depostmaster.pid. (Suggéré par Yogesh Sharma.) - Réaffecter les codes de retour compris entre 25 et 125 afin d’éviter que PostgreSQL les interprète comme des exceptions signal fatales. (Suggéré par Yogesh Sharma.)
Notes de version v1.17
Page Correction d’un bogue de somme de contrôle
Sortie le 13 mars 2017
Correctifs de bogues :
- Corrigé un problème où des pages nouvellement initialisées (mais non utilisées) provoquaient des avertissements de somme de contrôle. (Signalé par Stephen Frost.)
Notes de version v1.16
Améliorations de la somme de contrôle, intégration continue et test des paquets
Sortie le 2 mars 2017
Correctifs de bogues :
- Corrigé un problème où les tables de plus de 1 Go affichaient des avertissements de somme de contrôle de page après le premier segment. (Signalé par Stephen Frost.)
- Corrigé un problème où les bases de données créées avec un tablespace non par défaut déclenchaient des avertissements erronés concernant le positionnement aligné des pages pour
pg_filenode.mapetpg_internal.init. (Signalé par blogh.)
Fonctionnalités du jeu de tests :
- Intégration continue avec
travis-ci. - Génération automatique des paquets Debian pour toutes les distributions prises en charge.
Notes de version v1.15
Refactorisation et corrections de bogues
Sortie le 13 février 2017
Correctifs de bogues :
- Corrigé une régression introduite dans la version 1.13 qui pouvait entraîner l’échec des sauvegardes si des fichiers étaient supprimés (par exemple, des tables supprimées) pendant la construction du manifeste. (Signalé par Navid Golpayegani.)
Notes de version v1.14
Refactorisation et corrections de bogues
Sortie le 13 février 2017
Correctifs de bogues :
- Corrigé un problème où une erreur lors de l’envoi d’une archive n’était pas réessayée et renvoyait des erreurs à PostgreSQL indéfiniment (sauf si le fichier
.errorétait supprimé manuellement). (Signalé par Jens Wilke.) - Corrigé une condition de course dans l’archivage parallèle où la création de nouveaux chemins provoquait une erreur lorsque plusieurs processus tentaient de la réaliser simultanément. (Signalé par Jens Wilke.)
Améliorations :
- Amélioration des performances de
wal archive min/maxfournie par la commandeinfo. (Suggéré par Jens Wilke.)
Fonctionnalités de la documentation :
- Mise à jour de la documentation sur l’archivage asynchrone pour décrire plus précisément le fonctionnement de la nouvelle méthode et les différences avec l’ancienne méthode. (Suggéré par Jens Wilke.)
Notes de version v1.13
Archivage parallèle, création de stanza, informations et vérification améliorées
Sortie le 5 février 2017
AVERTISSEMENT IMPORTANT : La nouvelle implémentation de l’archivage asynchrone ne copie plus les WAL vers une file séparée. Si des WAL restent dans la file ancienne après la mise à jour vers 1.13, elles seront abandonnées et ne seront pas envoyées au dépôt. Pour éviter ce résultat, arrêtez l’archivage en définissant archive_command = false. Ensuite, videz la file asynchrone en exécutant pgbackrest --stanza=[stanza-name] archive-push et attendez que le processus se termine. Vérifiez que la file dans [spool-path]/archive/[stanza-name]/out est vide. Enfin, installez 1.13 et restaurez la valeur initiale de archive_command. AVERTISSEMENT IMPORTANT : La commande stanza-create n’est plus facultative et doit être exécutée avant toute sauvegarde ou archivage sur une nouvelle stanza. Les stanzas existantes n’ont pas besoin d’exécuter stanza-create.
Correctifs de bogues :
- Correction d’une affectation constante fixe provoquant un avertissement du compilateur dans la bibliothèque C. (Corrigé par Adrian Vondendriesch. Revu par David Steele.)
- Correction de quelques synchronisations de répertoires manquantes pour l’option
--repo-sync. - Correction d’un problème où l’absence d’un utilisateur/groupe lors d’une restauration pouvait provoquer une erreur « valeur non initialisée » dans
File->owner(). (Signalé par Leonardo GG Avellar.) - Correction d’un problème où les erreurs de non-correspondance de protocole ne produisaient pas la valeur attendue.
- Correction d’un message de journal
archive-geterroné indiquant qu’un code de sortie de 1 correspondait à une terminaison anormale.
Fonctionnalités :
- Implémentation améliorée, multi-processus, de l’archivage asynchrone.
- Amélioration de la commande
stanza-createafin qu’elle puisse réparer la plupart des dépôts endommagés et être suffisamment robuste pour être rendue obligatoire. (Contribué par Cynthia Shang. Revu par David Steele.) - Amélioration de la commande
checkpour qu’elle puisse s’exécuter sur une instance de secours, bien que seules des vérifications basiques soient effectuées carpg_switch_xlog()ne peut pas être exécutée sur un réplica. (Contribué par Cynthia Shang. Revu par David Steele.) - Ajout des plages d’archives et de sauvegardes à la commande
info. - Ajout d’un avertissement pour mettre à jour
pg_tablespace.spclocationlors du remappage des espaces de tables dans PostgreSQL < 9.2. (Contribué par blogh. Revu par David Steele.) - Suppression des exigences de verrouillage distant pour les commandes
archive-get,restore,infoetcheck, puisqu’il s’agit d’opérations en lecture seule. (Suggéré par Michael Vitale.)
Améliorations :
- Le bannière du fichier de journal n’est pas affichée avant la première entrée de journal écrite. (Suggéré par Jens Wilke.)
- Réduit la probabilité de faux positifs dans les sommes de contrôle de page causés par des pages déchirées en filtrant sur le LSN de début de sauvegarde.
- Supprime l’optimisation spécifique à Intel des drapeaux de compilation de la bibliothèque C. (Contribué par Adrian Vondendriesch. Revu par David Steele.)
- Supprime l’option
--lock. Cette option a été introduite avant que le répertoire de verrouillage ne puisse être situé en dehors du dépôt et est désormais obsolète. - Ajoute l’option
--log-timestamppour permettre de supprimer les horodatages dans la journalisation. Cela est principalement utilisé pour éviter les filtres dans la documentation automatisée. - Renvoie un code d’erreur approprié lorsqu’il n’est pas possible de convertir un chemin relatif en chemin absolu. (Suggéré par Yogesh Sharma.)
Fonctionnalités de la documentation :
- Ajout de la documentation dans le Guide utilisateur pour l’option
process-max. (Contribué par Cynthia Shang. Revu par David Steele.)
Notes de version v1.12
Pages Somme de contrôle, Configuration et corrections de bogues
Sortie le 12 décembre 2016
NOTE IMPORTANTE : Dans les versions antérieures, il était possible de spécifier des options en ligne de commande qui étaient non valides pour la commande courante sans recevoir d’erreur. Une erreur sera désormais générée pour les options non valides, il est donc essentiel de vérifier soigneusement les options en ligne de commande dans votre environnement afin d’éviter toute interruption.
Correctifs de bogues :
Corrigé un problème où des options non valides pour la commande spécifiée pouvaient être fournies en ligne de commande sans générer d’erreur. Ces options étaient ignorées et ne provoquaient aucun changement de comportement, mais pouvaient prêter à confusion. Les options non valides génèrent désormais une erreur. (Signalé par Nikhilchandra Kulkarni.)
Corrigé un problème où les liens symboliques internes n’étaient pas créés pour les espaces de table dans le dépôt. Ce problème n’était apparent que lorsqu’on tentait de démarrer manuellement des clusters in situ à l’aide de captures instantanées du système de fichiers, et n’affectait pas les opérations normales de sauvegarde ou de restauration.
Corrigé un problème qui empêchait l’affichage des erreurs sur la console avant l’initialisation du système de journalisation, c’est-à-dire pendant l’analyse des options. Les codes d’erreur étaient toujours renvoyés correctement, de sorte que cela n’aurait pas fait apparaître un processus comme ayant réussi alors qu’il avait échoué. (Signalé par Adrian Vondendriesch.)
Corrigé un problème où l’option
db-portspécifiée sur le serveur de sauvegarde n’était pas correctement transmise au serveur distant, sauf si elle provenait de la première base de données configurée. (Signalé par Michael Vitale.)
Fonctionnalités :
Ajout de l’option
--checksum-pagepermettant à pgBackRest de valider les sommes de contrôle des pages dans les fichiers de données lorsque les sommes de contrôle sont activées sur PostgreSQL >= 9.3. Notez que cette fonctionnalité nécessite une bibliothèque C qui peut ne pas être disponible initialement dans les paquets du système d’exploitation. L’option sera automatiquement activée lorsque la bibliothèque est présente et que les sommes de contrôle sont activées sur le cluster. (Suggéré par Stephen Frost.)Ajout de l’option
--repo-linkpermettant de supprimer les liens symboliques internes lorsque le dépôt est situé sur un système de fichiers qui ne les supporte pas. Cette option n’affecte pas la fonctionnalité de pgBackRest, mais le lien de commoditélatestne sera pas créé, ni les liens symboliques internes des espaces de table, ce qui affectera la capacité à initialiser manuellement des clusters à partir de captures instantanées du système de fichiers.Ajout de l’option
--repo-syncpermettant de désactiver les synchronisations de répertoires dans le dépôt pour les systèmes de fichiers qui ne les supportent pas, par exemple NTFS.Ajouté une entrée de journal prédéfinie pour indiquer qu’une commande s’est terminée avec succès. Par exemple, une sauvegarde se termine avec succès avec :
INFO: backup command end: completed successfully. (Suggéré par Jens Wilke.)
Améliorations :
- Pour simplifier, le fichier
pg_controlest désormais copié avec les autres fichiers, et non pas seul à la fin du processus. La commandebackupn’exige pas ce comportement, etrestorecopie dans un fichier temporaire qui est renommé à la fin de la restauration.
Correctifs de bogues dans la documentation :
- Corrigé un problème qui masquait les exceptions lors de la génération des PDF.
- Corrigé une régression liée aux liens de section introduite dans la version 1.10.
Fonctionnalités de la documentation :
- Ajout de la rétention à la section QuickStart.
Notes de version v1.11
Correction de bogue améliorant l’efficacité de l’archivage asynchrone
Sortie le 17 novembre 2016
Correctifs de bogues :
- Corrigé un problème où l’archivage asynchrone transférait un fichier par exécution au lieu de transférer les fichiers par lots. Ce rétrograde a été introduit dans la version 1.09 et n’a affecté que l’efficacité, tous les segments WAL ont été correctement archivés en mode asynchrone. (Signalé par Stephen Frost.)
Notes de version v1.10
Création de stanza et corrections de petits bugs
Sortie le 8 novembre 2016
Correctifs de bogues :
- Corriger un problème pouvant faire échouer une sauvegarde lorsqu’aucune modification n’avait été apportée à la base de données depuis la sauvegarde précédente et que seul
pg_controlavait changé. - Corriger un problème où des chemins de tablespace partageant le même préfixe provoquaient une erreur de lien invalide. (Signalé par Nikhilchandra Kulkarni.)
Fonctionnalités :
- Ajouté la commande
stanza-createpour formaliser la création de stanzas dans le dépôt. (Contribué par Cynthia Shang. Revu par David Steele.)
Améliorations :
- Supprimé les directives
use libsuperflues des modules Perl. (Suggéré par Devrim Gündüz.)
Notes de version v1.09
9.6 Prise en charge, configurabilité et corrections de bogues
Sortie le 10 octobre 2016
Correctifs de bogues :
- Corrigé la commande
checkafin d’éviter qu’un message d’erreur ne soit journalisé si le répertoire de sauvegarde n’existe pas. (Corrigé par Cynthia Shang. Revu par David Steele.) - Corrigé le message d’erreur pour qu’il affiche correctement la commande d’archive lorsqu’une commande d’archive invalide est détectée. (Signalé par Jason O’Donnell.)
- Corrigé un problème où l’archivage asynchrone n’était pas lancé si
archive-pushne disposait pas de suffisamment d’espace pour mettre en file une nouvelle tranche WAL. Cela signifiait que la file n’était jamais vidée sans intervention manuelle (par exemple, en appelantarchive-pushdirectement). PostgreSQL affiche désormais des erreurs lorsque l’espace est insuffisant pour stocker de nouvelles tranches WAL, mais le processus asynchrone est toujours lancé afin que l’espace soit finalement libéré. (Signalé par Jens Wilke.) - Corrigé un délai d’attente distant survenu lorsque un processus local générant des sommes de contrôle (lors d’une reprise ou d’une restauration) ne copiait pas de fichiers, permettant ainsi à la connexion distante de rester inactif. (Signalé par Jens Wilke.)
Fonctionnalités :
- Les sauvegardes non exclusives sont utilisées automatiquement sur PostgreSQL 9.6.
- Ajout de l’option
cmd-sshpermettant de spécifier le client SSH. (Suggéré par Jens Wilke.) - Ajout de l’option
log-level-stderrpour contrôler si les messages de journalisation console sont envoyés àstderrou àstdout. Par défaut, cette option est définie surwarn, ce qui constitue un changement de comportement par rapport aux versions précédentes, même si cela peut paraître plus intuitif. Définirlog-level-stderr=offpermet de préserver le comportement ancien. (Suggéré par Sascha Biberhofer.) - Définir
application_namesur"pgBackRest [command]"pour les connexions à la base de données. (Suggéré par Jens Wilke.) - Vérifier que archive_mode est activé lorsque l’option
archive-checkest activée.
Améliorations :
- Message d’erreur clarifié lorsque l’acquisition du verrou d’advisory pgBackRest échoue, afin de préciser qu’il ne s’agit pas d’un verrou de sauvegarde PostgreSQL. (Suggéré par Jens Wilke.)
- Numéro de version de pgBackRest inclus dans la sortie INFO du journal de démarrage de la commande.
- Identifiant de processus (PID) inscrit dans les journaux INFO de démarrage/arrêt du processus local.
Fonctionnalités de la documentation :
- Ajout de la documentation de l’option
archive-timeoutdans le guide utilisateur. (Contribué par Cynthia Shang. Revu par David Steele.)
Notes de version v1.08
Correctifs de bogues et améliorations des journaux
Sortie le 14 septembre 2016
Correctifs de bogues :
- Corrigé un problème où les processus locaux ne se déconnectaient pas une fois terminés et pouvaient ensuite expirer. (Signalé par Todd Vernick.)
- Corrigé un problème où la couche de protocole pouvait expirer en attendant l’arrivée des segments WAL dans l’archive. (Signalé par Todd Vernick.)
Améliorations :
- Mémorise la sortie du journal de fichier jusqu’à la création du fichier, afin de produire un journal plus complet.
Notes de version v1.07
Thread de traitement : conversions et corrections de bogues
Sorti le 7 septembre 2016
Correctifs de bogues :
- Corrigé un problème où les espaces de tables étaient copiés depuis le principal lors d’une sauvegarde en mode secondaire.
- Corrigé la commande
checkafin que les informations de sauvegarde soient vérifiées à distance et non seulement localement. (Corrigé par Cynthia Shang. Revu par David Steele.) - Corrigé un problème où
retention-archiven’était pas automatiquement défini lorsqueretention-archive-type=diff, entraînant une expiration de l’archive moins agressive que prévue. (Corrigé par Cynthia Shang. Revu par David Steele.)
Fonctionnalités :
- Converti les threads Perl en processus afin d’améliorer la compatibilité et les performances.
- Exclut le contenu du répertoire
$PGDATA/pg_replslotafin que les slots de réplication sur le serveur principal ne fassent pas partie de la sauvegarde. - Les paramètres
archive-startetarchive-stopsont désormais renseignés dansbackup.manifestmême lorsquearchive-check=n. (Suggéré par Jens Wilke.) - Avertissements supplémentaires lorsque les paramètres de rétention de l’archive pourraient ne pas avoir l’effet escompté ou permettre une rétention indéfinie. (Contribué par Cynthia Shang. Revu par David Steele.)
- Prise en charge expérimentale des sauvegardes non exclusives dans PostgreSQL 9.6 rc1. Les modifications apportées aux versions du contrôle/catalogue/WAL dans les versions candidates ultérieures pourraient rompre la compatibilité, mais pgBackRest sera mis à jour à chaque version pour suivre l’évolution.
Correctifs de bogues dans la documentation :
- Corrigé des problèmes mineurs de reproductibilité de la documentation liés aux chemins binaires.
Fonctionnalités de la documentation :
- Documentation relative à la rétention des archives. (Contribution de Cynthia Shang. Relecture par David Steele.)
Notes de version v1.06
Sauvegarde depuis une instance de secours et corrections de bogues
Sortie le 25 août 2016
Correctifs de bogues :
Corrigé un problème où un lien de tablespace référençant un autre lien ne produisait pas d’erreur, mais sautait entièrement le tablespace. (Signalé par Michael Vitale.)
Corrigé un problème où des options qui ne devaient pas autoriser de valeurs multiples pouvaient être spécifiées plusieurs fois dans
pgbackrest.confsans lever d’erreur. (Signalé par Michael Vitale.)Corrigé un problème où l’option
protocol-timeoutn’était pas automatiquement augmentée lorsque l’optiondb-timeoutétait augmentée. (Signalé par Todd Vernick.)
Fonctionnalités :
- Sauvegarder depuis un cluster standby. Une connexion au cluster primaire reste nécessaire pour démarrer ou arrêter la sauvegarde et copier les fichiers non répliqués, mais l’immense majorité des fichiers est copiée depuis le standby afin de réduire la charge du primaire.
- Assouplir la configuration des bases de données. Le primaire comme le standby peuvent être configurés sur le serveur de sauvegarde ; pgBackRest détermine automatiquement lequel est primaire. Avec un serveur de sauvegarde distinct, aucun changement de configuration n’est donc requis après un basculement du primaire vers le standby.
- Exclure pendant la sauvegarde les répertoires que PostgreSQL nettoie, recrée ou remet à zéro au démarrage. Cela comprend
pgsql_tmpetpg_stat_tmp. Le fichierpostgresql.auto.conf.tmpest désormais exclu, en plus debackup_label.old,postmaster.opts,postmaster.pid,recovery.confetrecovery.done. - Prise en charge expérimentale des sauvegardes non exclusives dans PostgreSQL 9.6 beta4. Les modifications apportées aux versions du contrôle/catégorie/WAL dans les versions beta ultérieures peuvent entraîner une incompatibilité, mais pgBackRest sera mis à jour à chaque version pour suivre l’évolution.
Améliorations :
- Améliorer le message d’erreur pour les liens référençant des liens dans la construction du manifeste.
- Ajouter des indications au message d’erreur lors de la détection de chemins relatifs dans
archive-pushouarchive-get. - Améliorer les messages du journal de sauvegarde pour indiquer l’hôte d’où les fichiers sont copiés.
Notes de version v1.05
Correction d’un bogue lié à la vérification des liens de tablespace
Sortie le 9 août 2016
Correctifs de bogues :
- Corrigé un problème où les chemins de tablespace contenant $PGDATA comme sous-chaîne étaient identifiés comme des sous-répertoires de $PGDATA, même lorsqu’ils ne l’étaient pas. Renforcement légère du contrôle des chemins relatifs. (Signalé par Chris Fort.)
Fonctionnalités de la documentation :
- Ajout de la documentation sur la planification des sauvegardes avec cron. (Contribué par Cynthia Shang. Revu par David Steele.)
Améliorations de la documentation :
- Déplacé la liste d’attente depuis le site web de pgBackRest vers la documentation wiki du dépôt GitHub. (Contribué par Cynthia Shang. Revu par David Steele.)
Notes de version v1.04
Divers correctifs de bogues
Sortie le 30 juillet 2016
Correctifs de bogues :
- Corrigé un problème où une connexion distante superflue était créée, pouvant entraîner un délai d’attente ou un conflit de verrou pendant une sauvegarde/restauration multithreadées. (Signalé par Michael Vitale.)
- Corrigé un problème où le chemin de la base de données n’était pas requis pour la commande
check, ce qui provoquait une assertion en cas de manque plutôt qu’un message d’erreur explicite. (Signalé par Michael Vitale.) - Corrigé la commande
checkafin qu’elle lève une erreur lorsque la version ou l’identifiant de la base de données ne correspond pas à celle de l’archive. (Corrigé par Cynthia Shang. Revu par David Steele.) - Corrigé un problème où une connexion distante pouvait tenter de démarrer sa propre connexion distante lorsque l’option
backup-hostn’était pas présente danspgbackrest.confsur le serveur de base de données. (Signalé par Lardière Sébastien.) - Corrigé un problème où le contenu du répertoire
pg_xlogétait sauvegardé lorsqu’il était un lien symbolique. Cela n’avait pas d’impact sur la restauration mais représentait un gaspillage d’espace. - Corrigé un appel invalide à
log()dans les routines de verrouillage.
Fonctionnalités :
- Prise en charge expérimentale des sauvegardes non exclusives dans PostgreSQL 9.6 beta3. Les modifications apportées aux versions du contrôle/catégorie/WAL dans les versions bêta ultérieures peuvent rompre la compatibilité, mais pgBackRest sera mis à jour à chaque version pour suivre l’évolution.
Améliorations :
- Supprime les bannières sur les connexions du protocole SSH.
- Messages d’erreur distants améliorés pour identifier l’hôte où l’erreur a été levée.
- Tous les types distants prennent désormais des verrous. Les exceptions datent de l’époque où le cadre de test et pgBackRest s’exécutaient dans la même machine virtuelle et ne s’appliquent plus.
Fonctionnalités de la documentation :
- Ajout d’une clarification sur la raison pour laquelle la valeur par défaut de l’option
backrest-userestbackrest. (Suggéré par Michael Vitale.) - Mise à jour des informations concernant la disponibilité des paquets sur les plates-formes prises en charge. (Suggéré par Michael Vitale.)
Notes de version v1.03
Commande de vérification et corrections de bogues
Sortie le 2 juillet 2016
Correctifs de bogues :
Corrigé un problème où
keep-alivespouvait être bloqué par de nombreuses petites fichiers lors d’unebackupmultithreadée. Elles étaient également complètement absentes lors de la reprise debackupen mode simple ou multithreadé et du contrôlerestoredes sommes de contrôle. (Signalé par Janice Parkinson, Chris Barber.)Corrigé un problème où la commande
expirerefusait de s’exécuter lorsqu’elle était appelée explicitement en ligne de commande si l’optiondb-hostétait définie. Ce problème ne se produisait pas lorsqueexpireétait exécuté automatiquement après unbackup(Signalé par Chris Barber.)Corrigé un problème où la validation était exécutée sur archive_command même lorsque l’option
archive-checkétait désactivée.
Fonctionnalités :
- Ajout de la commande
checkpour valider que pgBackRest est correctement configuré pour l’archivage et les sauvegardes. (Contribué par Cynthia Shang. Revu par David Steele.) - Ajout de l’option
protocol-timeout. Précédemment,protocol-timeoutétait défini commedb-timeout+ 30 secondes. - Une erreur de fermeture des hôtes distants à la fin de la sauvegarde ne provoque plus d’exception. Un avertissement est désormais généré, recommandant d’augmenter
protocol-timeout. - Prise en charge expérimentale des sauvegardes non exclusives dans PostgreSQL 9.6 beta2. Les modifications apportées aux versions du contrôle/catalogue/WAL dans les versions bêta suivantes peuvent rompre la compatibilité, mais pgBackRest sera mis à jour à chaque version pour suivre l’évolution.
Améliorations :
Amélioration de la gestion des utilisateurs/groupes capturés lors de la sauvegarde et qui n’existent pas sur l’hôte de restauration. Gestion explicite du cas où l’utilisateur/groupe n’est pas mappé à un nom.
La gestion des options est désormais bien plus stricte. Il était auparavant possible qu’une commande utilise une option non explicitement attribuée à celle-ci. Cela était particulièrement vrai pour les options
backup-hostetdb-host, utilisées pour déterminer la localité.
Améliorations de la documentation :
- Autorise l’utilisation d’une date statique pour la documentation afin de générer des builds reproductibles. (Suggéré par Adrian Vondendriesch.)
- Ajout de la documentation sur l’archivage asynchrone dans le guide utilisateur. (Contribué par Cynthia Shang. Revu par David Steele.)
- Le lieu d’installation recommandé pour les modules pgBackRest est désormais
/usr/share/perl5car/usr/lib/perl5a été retiré de la chaîne de recherche dans les versions plus récentes de Perl. - Ajout des instructions pour supprimer les versions antérieures de pgBackRest.
Notes de version v1.02
Correction de bug pour Perl 5.22
Sorti le 2 juin 2016
Correctifs de bogues :
- Correction de l’utilisation de sprintf() en raison de nouvelles contraintes dans Perl 5.22. Les paramètres non référencés dans la chaîne de format ne sont plus autorisés. (Correctif apporté par Adrian Vondendriesch. Revu par David Steele.)
Correctifs de bogues dans la documentation :
- Corrigé une syntaxe incorrecte incompatible avec Perl 5.2X. (Corrigé par Christoph Berg, Adrian Vondendriesch. Revu par David Steele.)
- Corrigé les chemins absolus utilisés pour le logo PDF. (Signalé par Adrian Vondendriesch.)
Fonctionnalités de la documentation :
- Les notes de version sont désormais divisées en sections afin de distinguer clairement les bogues, les fonctionnalités et les révisions. Une section « Notes supplémentaires » a été ajoutée pour les modifications apportées à la documentation et à la suite de tests qui n’affectent pas le code central.
- Génération de la page de manuel ajoutée. (Contribué par Adrian Vondendriesch, David Steele.)
- Le journal des modifications était la dernière pièce de documentation à être rendue uniquement en Markdown. Un convertisseur a été écrit afin que le document puisse être généré par les rendus standards. Le journal des modifications sera désormais disponible sur le site web et a été renommé « Versions ». (Contribué par Cynthia Shang. Revu par David Steele.)
Notes de version v1.01
Informations améliorées, restauration sélective et prise en charge de la version 9.6
Sortie le 17 mai 2016
Fonctionnalités :
- Sortie texte améliorée de la commande
infoincluant des horodatages, des tailles et la liste de référence de toutes les sauvegardes. (Contribué par Cynthia Shang. Revu par David Steele.) - Permet la restauration sélective de bases de données à partir d’une sauvegarde de cluster. Cette fonctionnalité peut entraîner des économies importantes d’espace et de temps lorsque seules certaines bases de données sont restaurées. Les bases de données non restaurées ne seront pas accessibles, mais doivent être supprimées manuellement avant de pouvoir être supprimées du catalogue partagé. (Revu par Cynthia Shang, Greg Smith, Stephen Frost. Suggéré par Stephen Frost.)
- Prise en charge expérimentale des sauvegardes non exclusives dans PostgreSQL 9.6 beta1. Les modifications apportées aux versions du contrôle/catalogue/WAL dans les versions bêta ultérieures peuvent rompre la compatibilité, mais pgBackRest sera mis à jour à chaque version pour suivre l’évolution. (Revu par Cynthia Shang.)
Notes de version v1.00
Nouveau format de dépôt et schéma de configuration, prise en charge des liens
Sortie le 14 avril 2016
AVERTISSEMENT IMPORTANT : Cette version de jour de rupture rompt la compatibilité avec les versions antérieures de pgBackRest. Le format du manifeste, la structure sur disque, le schéma de configuration et les noms d’exécutables/chemins ont tous été modifiés. Vous devez créer un nouveau dépôt pour stocker les sauvegardes de cette version de pgBackRest et conserver votre ancien dépôt pendant un certain temps au cas où vous devriez effectuer une restauration. Les restaurations à partir de l’ancien dépôt nécessiteront la version antérieure de pgBackRest, mais en raison des changements de nom, il est possible d’avoir 1.00 et une version antérieure de pgBackRest installées en même temps. Consultez les notes ci-dessous pour plus de détails sur les modifications apportées.
Fonctionnalités :
Implémenté un nouveau schéma de configuration qui devrait être bien plus simple à utiliser. Consultez le Guide utilisateur et la Référence de configuration pour plus de détails, mais pour une configuration simple, toutes les options peuvent désormais être placées dans la section
stanza. Les options communes à plusieurs stanzas peuvent être placées dans la section[global]. Les configurations plus complexes peuvent toujours utiliser des sections de commande, bien que ce cas d’usage soit désormais rare. (Suggéré par Michael Renner.)L’option
repo-pathfait désormais toujours référence au dépôt où sont stockées les sauvegardes et les archives, qu’elles soient locales ou distantes, de sorte que l’optionrepo-remote-patha été supprimée. La nouvelle optionspool-pathpeut être utilisée pour définir un emplacement de mise en file d’attente des segments WAL lors de l’archivage asynchrone. Un dépôt local n’est plus obligatoire.Le nom de fichier de configuration par défaut est désormais
pgbackrest.confau lieu depg_backrest.conf. Cette modification a été effectuée pour assurer une cohérence avec d’autres changements de nommage, mais aussi pour éviter que des fichiers de configuration anciens ne soient chargés accidentellement lors de la migration vers1.00. (Suggéré par Michael Renner, Stephen Frost.)Le nom de dépôt par défaut a été modifié de
/var/lib/backupà/var/lib/pgbackrest. (Suggéré par Michael Renner, Stephen Frost.)Les fichiers de verrouillage sont désormais stockés par défaut dans
/tmp/pgbackrest. À l’heure actuelle,/run/pgbackrestest l’emplacement recommandé, mais cela nécessiterait des scripts d’initialisation qui ne font pas partie de cette version. L’optionlock-pathpeut être utilisée pour configurer le répertoire de verrouillage.Les fichiers de journalisation sont désormais stockés par défaut dans
/var/log/pgbackrestet ne comportent plus la date en suffixe, afin de pouvoir être gérés aveclogrotate. L’optionlog-pathpeut être utilisée pour configurer le répertoire de journalisation. (Suggéré par Stephen Frost.)Nom du fichier exécutable passé de
pg_backrestàpgbackrest. (Suggéré par Michael Renner, Stephen Frost.)Tous les fichiers et répertoires liés à PGDATA sont désormais inclus dans la sauvegarde. Par défaut, les liens seront restaurés directement dans PGDATA en tant que fichiers ou répertoires. L’option
--link-allpeut être utilisée pour restaurer tous les liens à leurs emplacements d’origine. L’option--link-mappeut être utilisée pour rediriger un lien vers un nouvel emplacement.Option
--tablespacesupprimée et remplacée par l’option--tablespace-map-all, qui indique plus clairement sa fonction.Niveau de journalisation
detailajouté, qui fournit plus d’informations queinfosans être aussi verbeux quedebug.
Versions pré-stables
Notes de version v0.92
Correction du chemin du dépôt en ligne de commande
Sortie le 6 avril 2016
Correctifs de bogues :
- Corrigé un problème où le processus principal transmettait
--repo-remote-pathau lieu de--repo-pathau dépôt distant, entraînant la création des fichiers de verrouillage dans le répertoire par défaut du dépôt (/var/lib/backup), ce qui entraînait généralement un échec. Ce problème ne se produisait que lorsque--repo-remote-pathétait défini en ligne de commande plutôt que danspg_backrest.conf. (Signalé par Jan Wieck.)
Notes de version v0.91
Correction de bug liée aux espaces de table et améliorations mineures
Sortie le 22 mars 2016
CORRECTION D’URGENCE POUR LES ESPACES DE TABLE : Une modification du format du dépôt a été accidentellement introduite dans la version 0.90, ce qui signifiait que la sauvegarde sur disque n’était plus un cluster PostgreSQL valide lorsque la sauvegarde contenait des espaces de table. Cela n’affectait que les utilisateurs qui ont copié directement les sauvegardes pour restaurer des clusters PostgreSQL au lieu d’utiliser la commande de restauration. Toutefois, la correction rompt la compatibilité avec les anciennes sauvegardes contenant des espaces de table, quelle que soit la méthode de restauration (pgBackRest lèvera des erreurs et refusera la restauration). De nouvelles sauvegardes complètes doivent être effectuées immédiatement après l’installation de la version 0.91 pour tous les clusters contenant des espaces de table. Si des sauvegardes anciennes doivent être restaurées, utilisez une version de pgBackRest correspondant à la version de la sauvegarde.
Correctifs de bogues :
- Correctif apporté à une incompatibilité du dépôt introduite avec pgBackRest 0.90. (Signalée par Evan Benoit.)
Fonctionnalités :
- Copiez
global/pg_controldernier pendant les sauvegardes. - Écrivez les fichiers
.infoet.manifestdans un répertoire temporaire avant de les déplacer vers leurs emplacements finaux et de les synchroniser sur le disque. - Renommez l’option
--no-start-stopen--no-online.
Fonctionnalités du jeu de tests :
- Analyse statique de code à l’aide de Perl-Critic, actuellement réussie en mode doux.
Notes de version v0.90
9.5 Prise en charge, diverses améliorations et corrections de bogues mineures
Sortie le 7 février 2016
Correctifs de bogues :
Corrigé un problème où la spécification de
--no-archive-checkprovoquait une erreur de configuration. (Signalé par Jason O’Donnell.)Corrigé un problème où un fichier WAL temporaire laissé après un crash système bien synchronisé pouvait faire échouer le prochain
archive-push.L’option
retention-archivepeut désormais être définie en toute sécurité à une valeur inférieure à la rétention des sauvegardes (retention-fullouretention-diff) sans avoir à spécifierarchive-copy=n. Le WAL nécessaire pour rendre les sauvegardes situées en dehors de la rétention d’archive cohérentes sera conservé dans l’archive. Toutefois, dans ce cas, la récupération à un point précis (PITR) ne sera pas possible pour les sauvegardes situées en dehors de la rétention d’archive.
Fonctionnalités :
Lors de la sauvegarde et de la restauration des espaces de tables, pgBackRest ne traite que le sous-répertoire créé pour la version de PostgreSQL utilisée. Étant donné qu’une même tablespace peut contenir plusieurs versions (notamment lors d’une mise à jour binaire), cela empêche de copier trop de fichiers lors d’une sauvegarde et d’effacer accidentellement d’autres versions lors d’une restauration. Cette règle s’applique uniquement aux versions de PostgreSQL >= 9.0 — les versions antérieures ne pouvaient pas partager un répertoire d’espace de tables.
Génère une erreur lorsque
archive-check=yest présent mais quearchive_commandn’exécute paspg_backrest. (Contribué par Jason O’Donnell. Revu par David Steele.)Amélioration du message d’erreur lorsque
repo-pathourepo-remote-pathn’existe pas.Ajout de vérifications pour les options de restauration
--deltaet--forceafin de s’assurer que le destinataire est un répertoire $PGDATA valide. pgBackRest vérifiera la présence dePG_VERSIONou debackup.manifest(restes d’une restauration interrompue). Si aucun de ces fichiers n’est trouvé,--deltaet--forceseront désactivés, mais la restauration se poursuivra à moins qu’il n’y ait des fichiers dans le répertoire $PGDATA (ou dans les répertoires de tablespace), auquel cas l’opération sera interrompue.Lorsqu’on restaure
--set=latest(valeur par défaut), la sauvegarde réellement restaurée sera affichée dans le journal.Prise en charge des segments partiels WAL de PostgreSQL 9.5 et du paramètre
recovery_target_action. Le paramètrearchive_mode = 'always'n’est pas encore pris en charge.Prise en charge du paramètre de récupération
recovery_target = 'immediate'introduit dans PostgreSQL 9.4.Les vérifications suivantes relatives aux tablespaces ont été ajoutées : chemins ou fichiers dans pg_tblspc, liens relatifs dans pg_tblspc, tablespaces dans $PGDATA. Les trois cas généreront des erreurs.
Notes de version v0.89
Correction d’un bogue de délai d’attente et prise en charge des dépôts en lecture seule lors de la restauration
Sortie le 24 décembre 2015
Correctifs de bogues :
- Corrigé un problème où les sauvegardes/restaurations plus longues entraînaient une expiration du délai lorsqu’elles étaient distantes et multithreadées. Des messages d’activité sont désormais utilisés pour s’assurer que la connexion distante du processus principal ne expire pas pendant que les threads distants effectuent tout le travail. Le message d’erreur lié aux délais d’expiration a également été amélioré afin de faciliter le débogage. (Signalé par Stephen Frost.)
Fonctionnalités :
- Autorise les restaurations sur un dépôt en lecture seule en utilisant
--no-locket--log-level-file=off. L’option--no-lockne peut être utilisée qu’avec les restaurations.
Notes de version v0.88
Documentation et corrections de bogues mineures
Sortie le 22 novembre 2015
Correctifs de bogues :
- Corrigé un problème où les commandes
start/stopexigeaient l’option--config. (Signalé par Dmitry Didovicher.) - Corrigé un problème où les fichiers de journalisation étaient écrasés au lieu d’être ajoutés. (Signalé par Stephen Frost, Dmitry Didovicher.)
- Corrigé un problème où
backup-usern’était pas facultatif.
Fonctionnalités :
Les liens symboliques ne sont plus créés dans les répertoires de sauvegarde du dépôt. Ces liens symboliques pouvaient pointer vers n’importe quelle localisation et présenter potentiellement un risque. Les liens symboliques sont toujours régénérés lors d’une restauration. (Suggéré par Stephen Frost.)
Amélioration du message lors de l’expiration d’une sauvegarde. L’expiration des sauvegardes complètes et différentielles est journalisée sur une seule ligne, accompagnée d’une liste de toutes les sauvegardes dépendantes expirées.
La rétention des archives est automatiquement définie sur la rétention des sauvegardes complètes si elle n’est pas configurée explicitement.
Fonctionnalités de la documentation :
- Ajout de la documentation dans le guide utilisateur pour les restaurations incrémentielles, l’expiration, les hôtes de sauvegarde dédiés, le démarrage et l’arrêt de pgBackRest, ainsi que la réplication.
Notes de version v0.87
Site web et guide utilisateur
Sortie le 28 octobre 2015
Fonctionnalités :
- Les fichiers
backup_label.oldetrecovery.donesont désormais exclus des sauvegardes.
Fonctionnalités de la documentation :
- Ajout d’un nouveau guide utilisateur couvrant les bases de pgBackRest ainsi que certains sujets avancés, notamment la récupération à un instant donné (PITR). Beaucoup d’autres contenus à venir, mais c’est un bon départ. (Contribué par David Steele, Stephen Frost. Révisé par Michael Renner, Cynthia Shang, Eric Radman, Dmitry Didovicher.)
Notes de version v0.85
Commandes de démarrage/arrêt et corrections de petits bogues
Sortie le 8 octobre 2015
Correctifs de bogues :
- Corrigé un problème où une erreur pouvait être renvoyée après une sauvegarde ou une restauration ayant complètement réussi.
- Corrigé un problème où une reprise échouait si des fichiers temporaires étaient présents dans le répertoire racine de la sauvegarde lorsqu’une sauvegarde échouait. Ce scénario était probable si le processus de sauvegarde était interrompu pendant la phase de copie.
Fonctionnalités :
- Ajout des commandes
stopetstartafin d’empêcher les processus pgBackRest de s’exécuter sur un système où PostgreSQL est arrêté ou où le système doit être mis en veille pour une autre raison. - Prise en charge expérimentale de PostgreSQL 9.5 beta1. Cette fonctionnalité peut être rompue si la version de contrôle ou la magie des WAL change dans des versions ultérieures, mais elle sera mise à jour à chaque version de pgBackRest pour suivre l’évolution. Tous les tests de régression passent, sauf les tests
--target-resume(cette fonctionnalité a été modifiée dans la version 9.5) et aucune vérification n’a encore été effectuée pour les segments WAL.partial.
Notes de version v0.82
Refactorisation, aide en ligne de commande et corrections de bogues mineures
Sortie le 14 septembre 2015
Correctifs de bogues :
- Corrigé un problème où les sauvegardes compressées reprises ne conservaient pas les fichiers existants.
- Corrigé un problème où la reprise et les sauvegardes incrémentielles/différentielles ne garantissaient pas que la sauvegarde précédente avait les mêmes paramètres de compression et de liens durs.
- Corrigé un problème où une sauvegarde froide utilisant
--no-start-stoppouvait être lancée sur un cluster PostgreSQL en cours d’exécution sans que--forcesoit spécifié. - Corrigé un problème où un thread pouvait être lancé même lorsque aucun thread n’avait été demandé.
- Corrigé un problème où le numéro de version de pgBackRest n’était pas mis à jour dans
backup.infoetarchive.infoaprès une mise à jour ou une rétrogradation. - Corrigé un problème où la commande
infolançait une exception lorsque le dépôt ne contenait aucun stanza. (Signalé par Stephen Frost.) - Corrigé un problème où les avertissements PostgreSQL
pg_stop_backup()étaient envoyés versstderr. (Signalé par Stephen Frost.)
Fonctionnalités :
- Prise en charge expérimentale de PostgreSQL 9.5 alpha2. Cette fonctionnalité peut cesser de fonctionner si la version de contrôle ou la magie WAL change dans les versions futures, mais elle sera mise à jour à chaque version de pgBackRest pour suivre l’évolution. Tous les tests de régression passent, sauf les tests
--target-resume(cette fonctionnalité a évolué en 9.5) et aucune vérification n’a encore été effectuée sur les segments WAL.partial.
Améliorations :
- Option et section renommées
recovery-settingenrecovery-optionafin d’être plus cohérentes avec les conventions de nommage de pgBackRest. - Chargement dynamique des modules ajouté afin d’accélérer les commandes, notamment l’archivage asynchrone.
Fonctionnalités de la documentation :
- Aide en ligne de commande extraite désormais à partir de la même source XML utilisée pour les autres documents et inclut bien plus de détails.
Notes de version v0.80
Fonctionnalités de prise en charge, de stabilité et de commodité pour DBI
Sortie le 9 août 2015
Correctifs de bogues :
- Corrigé un problème qui faisait que l’horodatage formaté des sauvegardes la plus ancienne et la plus récente était rapporté comme étant l’instant actuel par la commande
info. Seule la sortietextétait affectée — la sortiejsonrapportait les valeurs d’époque correctes. (Signalé par Michael Renner.) - Corrigé un problème de protocole empêchant la journalisation des erreurs SSH (notamment lors de la connexion).
Fonctionnalités :
- Le dépôt est désormais créé et mis à jour avec des modes de répertoires et de fichiers cohérents. Par défaut,
umaskest défini sur0000, mais cette option peut être désactivée à l’aide du paramètreneutral-umask. (Suggéré par Cynthia Shang.) - Ajout de l’option
stop-autopermettant d’arrêter automatiquement les sauvegardes échouées lorsque une nouvelle sauvegarde démarre. - Ajout de l’option
db-timeoutpour limiter le temps d’attente que pgBackRest attendra quepg_start_backup()etpg_stop_backup()retournent. - Suppression du fichier
pg_controlau début de la restauration et copie du fichier à la fin. Cela empêche toute possibilité de démarrer une restauration partielle par PostgreSQL. - Ajout de vérifications pour s’assurer que le paramètre
db-pathest cohérent avecdb-porten comparant ledata_directoryrapporté par le cluster au paramètredb-pathet la version rapportée par le cluster à la valeur lue depuispg_control. Le paramètredb-socket-pathest vérifié afin de s’assurer qu’il s’agit d’un chemin absolu. - Prise en charge expérimentale de PostgreSQL 9.5 alpha1. Cette fonctionnalité peut cesser de fonctionner si la version de contrôle ou la magie WAL change dans les versions futures, mais elle sera mise à jour à chaque version de pgBackRest pour suivre l’évolution. Tous les tests de régression passent, sauf les tests
--target-resume(cette fonctionnalité a évolué en 9.5) et aucune vérification n’a encore été effectuée sur les segments WAL.partial.
Améliorations :
- Utilisation désormais de Perl
DBIetDBD::Pgpour les connexions à PostgreSQL au lieu depsql. Les paramètrescmd-psqletcmd-psql-optionont été supprimés et remplacés pardb-portetdb-socket-path. Suivez les instructions du Guide d’installation pour installerDBD::Pgsur votre système d’exploitation.
Fonctionnalités du jeu de tests :
- Ajout des configurations de test Vagrant pour Ubuntu 14.04 et CentOS 7.
Notes de version v0.78
Supprimer les dépendances CPAN, améliorations de stabilité
Sortie le 13 juillet 2015
Améliorations :
- Suppression de la dépendance aux paquets CPAN pour l’exécution multithreadée. Bien qu’il puisse être pertinent de mettre à jour les paquets
threadsetThread::Queue, cela n’est plus nécessaire. - Modification du délai d’attente pour utiliser une suite de Fibonacci au lieu d’une suite géométrique. Cela fait croître le délai d’attente de manière moins agressive tout en conservant des valeurs raisonnables.
Fonctionnalités du jeu de tests :
- Ajout des configurations de test Vagrant pour Ubuntu 12.04 et CentOS 6.
Notes de version v0.77
Prise en charge de CentOS/RHEL 6 et améliorations de protocole
Sortie le 30 juin 2015
Fonctionnalités :
- Ajout de synchronisations de fichiers et de répertoires à l’objet
Filepour une sécurité accrue lors de la sauvegarde/restauration et de l’archivage. (Suggéré par Andres Freund.) - Ajout du support pour Perl 5.10.1 et OpenSSH 5.3, qui sont par défaut sur CentOS/RHEL 6. (Suggéré par Eric Radman.)
- Amélioration du message d’erreur lorsqu’une sauvegarde est exécutée sans que
archive_commandsoit défini et sans que--no-archive-checksoit précisé. (Suggéré par Eric Radman.)
Notes de version v0.75
Nouveau format de dépôt, commande info et prise en charge expérimentale de la version 9.5
Sortie le 14 juin 2015
AVERTISSEMENT IMPORTANT : Cette version de jour de flag rompt la compatibilité avec les versions antérieures de pgBackRest. Le format du manifeste, la structure sur disque et les noms binaires ont tous changé. Vous devez créer un nouveau dépôt pour stocker les sauvegardes de cette version de pgBackRest et conserver votre ancien dépôt pendant un certain temps au cas où vous devriez effectuer une restauration. Le fichier pg_backrest.conf n’a pas changé, mais vous devrez modifier toute référence à pg_backrest.pl dans cron (ou ailleurs) en pg_backrest (sans l’extension .pl).
Fonctionnalités :
- Ajouté la commande
info. - La journalisation utilise désormais une sortie non tamponnée. Cela devrait rendre les fichiers journaux écrits par plusieurs threads moins chaotiques. (Suggéré par Michael Renner.)
- Prise en charge expérimentale de PostgreSQL 9.5. Cette fonctionnalité peut cesser de fonctionner si la version de contrôle ou la magie WAL change, mais sera mise à jour à chaque version.
Améliorations :
- Ordre de fichiers plus efficace pour
backup. Les fichiers sont copiés dans l’ordre décroissant de taille, afin qu’un seul thread ne se retrouve pas à copier un grand fichier à la fin. Cette optimisation était déjà mise en œuvre pourrestore.
Notes de version v0.70
Améliorations de la stabilité pour l’archivage, journalisation améliorée et aide
Sortie le 1er juin 2015
Correctifs de bogues :
Corrigé un problème où
archive-copyéchouait lors d’une sauvegarde incrémentielle ou différentielle lorsquehardlink=n. Dans ce cas, le cheminpg_xlogn’existe pas encore et doit être créé. (Signalé par Michael Renner.)Corrigé un problème dans l’archivage asynchrone où
archive-pushne renvoyait pas correctement 0 lorsquearchive-max-mbétait atteint, et déplacé la vérification asynchrone après le transfert afin d’éviter de supprimer le fichier d’arrêt deux fois. Des tests unitaires ont également été ajoutés pour ce cas, et les messages d’erreur ont été améliorés pour mieux indiquer à l’utilisateur ce qui s’est produit. (Signalé par Michael Renner.)Corrigé un problème de verrouillage pouvant permettre plusieurs opérations du même type contre une même stanza. Ce problème semblait sans incidence sur l’intégrité des données, mais pouvait provoquer des erreurs inutiles lors de l’archivage et entraîner des erreurs lors de la sauvegarde ou de la restauration. (Signalé par Michael Renner.)
Fonctionnalités :
- Autoriser la sauvegarde de segments WAL en double lorsque la somme de contrôle correspond. Cela est nécessaire pour certains scénarios de récupération.
- Autoriser les commentaires/désactivations dans
pg_backrest.confà l’aide du caractère#. Seuls les caractères#situés en première position de la ligne sont pris en compte. (Suggéré par Michael Renner.) - Amélioration de la journalisation avant
pg_start_backup()afin de préciser clairement quand la sauvegarde attend un point de contrôle. (Suggéré par Michael Renner.) - Diverses corrections de comportement des commandes et de la journalisation. (Révisé par Michael Renner. Suggéré par Michael Renner.)
Améliorations :
- Remplacé le module
JSONparJSON::PP, qui est fourni avec Perl de base.
Correctifs de bogues dans la documentation :
- Divers correctifs apportés à l’aide. (Révisé par Michael Renner. Signalement par Michael Renner.)
Notes de version v0.65
Amélioration de la journalisation de la reprise et de la restauration, restaurations compactes
Sortie le 11 mai 2015
Correctifs de bogues :
- Corrigé un problème où un chemin absolu n’était pas écrit dans
recovery.conflorsque la restauration était exécutée avec un chemin relatif.
Fonctionnalités :
Meilleur support de la reprise. Les fichiers repris sont vérifiés afin de s’assurer qu’ils n’ont pas été modifiés et le manifeste est enregistré plus fréquemment afin de préserver les sommes de contrôle au fur et à mesure que la sauvegarde progresse. Plus de tests unitaires pour vérifier chaque cas de reprise.
La reprise est désormais facultative. Utilisez le paramètre
resumeou--no-resumeen ligne de commande pour la désactiver.Messages d’information supplémentaires pendant la restauration. Auparavant, la plupart des messages de restauration étaient au niveau débogage, si bien qu’il n’y avait pas beaucoup de sortie dans le journal.
Ajout du paramètre
tablespacepermettant de restaurer les espaces de table dans le cheminpg_tblspc. Cela permet des restaurations compactes, pratiques pour le développement, les environnements de préproduction, etc. Actuellement, ces restaurations ne peuvent pas être sauvegardées, car pgBackRest s’attend à ce que seules des liaisons soient présentes dans le cheminpg_tblspc.
Notes de version v0.61
Correction d’un bug lié à une destination distante non compressée
Sortie le 21 avril 2015
Correctifs de bogues :
- Corrigé une erreur de tamponnage pouvant survenir sur de grands fichiers fortement compressibles lors de la copie vers une destination distante non compressée. L’erreur a été détectée dans le code de décompression et entraînait un échec de la sauvegarde plutôt qu’une corruption, elle ne devrait donc pas affecter les sauvegardes réussies effectuées avec les versions précédentes.
Notes de version v0.60
Prise en charge améliorée des versions et améliorations du WAL
Sortie le 19 avril 2015
Correctifs de bogues :
- L’envoi de WAL en double génère désormais une erreur. Cela fonctionnait auparavant uniquement si les sommes de contrôle étaient désactivées.
Fonctionnalités :
- Les identifiants du système de base de données sont utilisés pour s’assurer que toutes les traces WAL archivées correspondent entre elles. Cela devrait aider à prévenir les mauvaises configurations qui enverraient des traces WAL provenant de plusieurs clusters vers le même archivage.
Fonctionnalités du jeu de tests :
- Tests de régression fonctionnels à partir de PostgreSQL 8.3.
Notes de version v0.50
Restauration et bien plus
Sorti le 25 mars 2015
Correctifs de bogues :
- Corrigé les sommes de contrôle endommagées, qui fonctionnent désormais avec les sauvegardes normales et reprises. Enfin compris que les sommes de contrôle et les deltas de sommes de contrôle devraient être fonctionnellement séparés, ce qui a simplifié plusieurs aspects. L’incident #28 a été créé pour les deltas de sommes de contrôle.
- Corrigé un problème où une sauvegarde pouvait être reprise à partir d’une sauvegarde interrompue qui n’avait pas le même type ni la même sauvegarde précédente.
Fonctionnalités :
- Ajout de la fonctionnalité de restauration.
- Toutes les options peuvent désormais être définies en ligne de commande, rendant
pg_backrest.conffacultatif. - La compression/décompression est désormais effectuée sans threads et la somme de contrôle/taille est calculée en flux. Cela signifie que les sommes de contrôle de fichier ne sont plus facultatives.
- Ajout de l’option
--no-start-stoppour autoriser les sauvegardes lorsque Postgres est arrêté. Sipostmaster.pidest présent,--forceest requis pour exécuter la sauvegarde (bien qu’une sauvegarde incohérente soit probablement créée si Postgres est en cours d’exécution). Cette option a été ajoutée principalement à des fins de tests unitaires, mais elle pourrait avoir des applications dans des environnements réels. - Somme de contrôle pour
backup.manifestafin de détecter un manifeste corrompu ou modifié. - Le lien
latestpointe toujours vers la dernière sauvegarde. Cette fonctionnalité a été ajoutée pour plus de commodité et pour simplifier les restaurations.
Fonctionnalités du jeu de tests :
- Tests unitaires plus complets dans toutes les zones.
Notes de version v0.30
Restructuration centrale et tests unitaires
Sortie le 5 octobre 2014
Fonctionnalités de la documentation :
- Ajout de documentation très utile
Fonctionnalités du jeu de tests :
- Des tests unitaires assez complets pour toutes les opérations de base. Des travaux supplémentaires restent à accomplir ici, bien sûr, mais il reste toujours plus de travail à faire sur les tests unitaires.
Notes de version v0.19
Amélioration du rapport/dépistage des erreurs
Sorti le 13 mai 2014
Correctifs de bogues :
- Détection et correction d’un bug grave où
file_copy()était par défaut configuré pour ignorer les erreurs. Un autre problème dansfile_exists()provoquait l’échec du test lorsque le fichier existait effectivement. Ensemble, ils auraient pu entraîner une sauvegarde corrompue sans aucune erreur, bien que cela soit très improbable.
Notes de version v0.18
Retourner une erreur douce lorsque l’archive est manquante
Sortie le 13 avril 2014
Correctifs de bogues :
- La commande
archive-getretourne désormais 1 lorsque le fichier d’archive est manquant, afin de le distinguer des erreurs graves (échec de connexion SSH, erreur de copie de fichier, etc.). Cela permet à PostgreSQL de savoir que le flux d’archive s’est terminé normalement. Toutefois, cela ne tient pas compte des éventuelles lacunes dans le flux d’archive. (Signalé par Stephen Frost.)
Notes de version v0.17
Avertir lorsque les répertoires d’archive ne peuvent pas être supprimés
Sorti le 3 avril 2014
Correctifs de bogues :
- Si un répertoire d’archive qui devrait être vide n’a pas pu être supprimé, backrest lançait une erreur. Une correction définitive est en cours, mais pour l’instant, cela a été changé en avertissement afin que le traitement puisse continuer. Cela affectait les sauvegardes, car parfois le fichier d’archive final n’était pas envoyé si le premier fichier d’archive se trouvait dans un répertoire différent (plus un peu de malchance).
Notes de version v0.16
RequestTTY=yes pour les sessions SSH
Sortie le 1er avril 2014
Correctifs de bogues :
- Ajouté
RequestTTY=yesaux sessions SSH. Espérons que cela empêchera les blocages aléatoires.
Notes de version v0.15
Ajouté archive-get
Sorti le 29 mars 2014
Fonctionnalités :
- Ajout de la fonctionnalité
archive-getpour faciliter les restaurations. - Ajout de l’option permettant de forcer un point de contrôle au démarrage de la sauvegarde,
start-fast=y.
Notes de version v0.11
Correctifs mineurs
Sortie le 26 mars 2014
Correctifs de bogues :
Supprimé l’option
master_stderr_discardsur les connexions SSH à la base de données. Des blocages occasionnels ont été observés, qui pourraient être liés à des problèmes initialement rencontrés dans le code des fichiers. (Signalé par Stephen Frost.)Modifié les conflits de fichiers verrou sur les commandes
backupetexpirepour qu’ils soient définis surERROR. Ils étaient initialement définis surDEBUGen raison d’une copie-colle à partir des verrous d’archive.
Notes de version v0.10
La sauvegarde et l’archivage sont fonctionnels
Sorti le 5 mars 2014
Fonctionnalités :
La restauration n’est pas encore implémentée, mais les répertoires de sauvegarde sont des répertoires de données PostgreSQL cohérents. Vous devrez décompresser les fichiers ou désactiver la compression de la sauvegarde. Les sauvegardes non compressées sur ZFS, ou un système de fichiers similaire, peuvent être restaurées localement par instantané pour créer des sauvegardes logiques ou récupérer ponctuellement des données.
L’archivage est monothread. Cela n’a posé aucun problème sur nos bases de plusieurs téraoctets soumises à un fort volume d’écritures. Un grand volume WAL est recommandé, ou l’option asynchrone avec un volume proche de grande capacité.
Les sauvegardes sont multithreadées, mais la bibliothèque
Net::OpenSSHne semble pas sûre à 100% avec les threads et peut très occasionnellement en bloquer un. Un délai global tue le processus et résout le problème. Oui, c’est assez laid.Les sommes de contrôle sont perdues lors de toute sauvegarde reprise. Seule la sauvegarde finale enregistre la somme de contrôle après plusieurs reprises. Les sommes de contrôle des sauvegardes précédentes sont correctement enregistrées, et une sauvegarde complète réinitialise tout.
Le
backup.manifestest écrit en tant queStorablecarConfig::IniFilene semble pas gérer correctement les grands fichiers. Il serait particulièrement souhaitable de les sauvegarder sous forme de texte lisible par l’humain.
Fonctionnalités de la documentation :
- Aucune documentation (hors du code). Enfin, sauf ces notes de version.
7 - Questions fréquemment posées
Introduction
Les questions fréquemment posées ont pour but de fournir des précisions sur des questions spécifiques qui peuvent ou non être traitées dans le guide utilisateur, la configuration ou la référence des commandes. Si vous ne trouvez pas de réponse à votre problème particulier ici, n’oubliez pas que la liste des problèmes pgBackRest Issues List in GitHub constitue également une ressource précieuse.
Que faire si j’obtiens l’erreur « impossible de trouver le segment WAL » ?
La cause de cette erreur peut résulter de nombreux problèmes différents, dont certains peuvent être :
archive_commandmal configuré- fichiers de configuration pgBackRest incorrectement configurés
- problème de réseau ou d’autorisations
- problème de configuration d’un produit tiers, par exemple S3, Swift ou MinIO
- grande quantité de WAL en attente d’archivage
Il est recommandé de :
- vérifiez le
archive_commanddans PostgreSQL - vérifiez les paramètres de configuration de pgBackRest sur chaque hôte (par exemple, les paramètres
pg*sont définis sur l’hôte du dépôt et les paramètresrepo*sur l’hôte pg) - exécutez la commande
checkavec--archive-timeoutdéfini à une valeur supérieure à celle du fichier de configuration pgBackRest (ou à la valeur par défaut) afin de vérifier si la file d’attente WAL nécessite plus de temps pour se vider. Si le système génère beaucoup de WAL, envisagez de configurer asynchronous archiving
Comment purger manuellement un jeu de sauvegarde ?
Une sauvegarde complète peut être expirée à l’aide de l’option --set, comme expliqué dans Référence des commandes : Expirer
.
Comment puis-je configurer les options indépendamment pour chaque commande ?
pgBackRest peut définir des options indépendamment dans le fichier de configuration pour chaque commande. Configurer une stanza de cluster décrit cette fonctionnalité ainsi que la hiérarchie de priorité des options.
Par exemple, l’option process-max peut être optimisée pour chaque commande :
Puis-je utiliser des points (points) dans le nom de mon bucket S3 ?
RFC-2818 n’autorise pas les caractères génériques à correspondre à un point (.), aussi les noms de bucket S3 ne doivent pas contenir de points. Si le nom de bucket S3 contient des points, une erreur telle que « unable to find hostname ‘my.backup.bucket.s3.amazonaws.com’ in certificate common name or subject alternative names » se produira.
L’exception est repo-s3-uri-style=path, qui ajoute le nom du bucket au URI au lieu de l’hôte. Comme le bucket n’est pas inclus dans le nom d’hôte, le certificat est vérifié uniquement par rapport à l’endpoint, et les points dans le nom du bucket ne posent pas de problème. Notez que les URI au format chemin ne sont pas pris en charge par toutes les solutions de stockage objet compatibles S3.
Où puis-je trouver des paquets pour les versions antérieures de pgBackRest ?
Le dépôt apt.PostgreSQL.org maintient une archive des anciennes versions . Debian maintient également des instantanés de toutes les versions de test.
Pourquoi une tentative de sauvegarde échoue-t-elle lorsque backup-standby=y et la base de données en mode standby sont hors ligne ?
Configurer la sauvegarde à partir d’un serveur secondaire est généralement destiné à réduire la charge sur le principal. Passer à la sauvegarde sur le principal lorsque le serveur secondaire est hors service contredit souvent cet objectif. Il n’est pas recommandé de surcharger le principal dans une situation où le système présente déjà des défaillances. Les sauvegardes ne sont pas critiques à condition d’en disposer une récente — ce qui compte, c’est de maintenir le archivage des WAL. Il reste ample temps pour effectuer une sauvegarde lorsque le système est à nouveau stable.
Si vous avez réellement besoin d’une sauvegarde, la solution consiste à disposer de plus de serveurs secondaires ou à supprimer backup-standby. Cette restriction peut être levée en ligne de commande grâce à --no-backup-standby, ce qui évite de réconfigurer le système pour une sauvegarde ponctuelle.
Dois-je configurer mon dépôt sur un hôte de secours ?
No. Lorsque les bases de données primaire et secondaire sont configurées, les fichiers de configuration de pgBackRest doivent être symétriques afin de gérer sans heurt les basculements. Si ce n’est pas le cas, les configurations devront être modifiées lors d’un basculement, ou des problèmes supplémentaires pourraient survenir.
Consultez la section Hôte dédié au dépôt du guide utilisateur pour plus d’informations.
La restauration à un instant donné basée sur le temps ne semble pas fonctionner, pourquoi ?
L’erreur la plus fréquente lors de l’utilisation de la restauration à un instant donné basée sur le temps est d’oublier de sélectionner un jeu de sauvegarde antérieur à l’instant cible. pgBackRest tentera de déterminer une sauvegarde à partir de laquelle poursuivre le traitement à partir de l’instant spécifié par --target= si l’option --set n’est pas précisée. Si aucun jeu de sauvegarde n’est trouvé, la restauration par défaut utilisera la dernière sauvegarde. Toutefois, si la dernière sauvegarde est postérieure à l’instant cible, alors --target= n’est pas considéré comme valide par PostgreSQL et est donc ignoré, ce qui entraîne une récupération des journaux (WAL) jusqu’à l’instant le plus récent disponible.
Pour utiliser l’option --set, sélectionnez un jeu de sauvegarde en exécutant la commande info et en identifiant la sauvegarde dont l’horodatage de fin est antérieur à l’heure cible. Ensuite, lors de la restauration, précisez l’option --set=BACKUP_LABEL où BACKUP_LABEL correspond au jeu de sauvegarde sélectionné.
Consultez la section Restauration à un instant donné du guide utilisateur pour plus d’informations.
Qu’est-ce que signifie le suffixe de l’archive WAL ?
Le suffixe est la somme de contrôle SHA1 utilisée pour vérifier l’intégrité du fichier. Il n’existe aucun moyen de l’omettre.
La restauration de types de sauvegarde spécifiques (pleine, différentielle, incrémentielle) prend-elle plus de temps ?
Les différents types de sauvegarde nécessitent le même temps de restauration. La restauration récupère les fichiers en se basant sur le manifeste de sauvegarde, qui peut faire référence à des fichiers provenant d’une sauvegarde antérieure dans le cas de sauvegardes incrémentielles ou différentielles. Bien qu’il puisse y avoir des différences dans le temps passé à créer une sauvegarde donnée (selon le type de sauvegarde), la taille de la base de données détermine le temps de restauration (le débit disque, le débit réseau, etc. étant égaux).
Comment puis-je exporter une sauvegarde pour l’utiliser dans un environnement hors réseau ?
pgBackRest utilise le dépôt non seulement pour stocker les sauvegardes et les archives WAL, mais aussi pour conserver les métadonnées essentielles nécessaires à des fonctionnalités telles que la compression, le chiffrement et le regroupement de fichiers. En raison de cela, copier simplement une sauvegarde accompagnée d’un sous-ensemble de fichiers WAL ne fonctionnera généralement pas, sauf si des conditions très spécifiques et restrictives sont respectées.
Toutefois, une solution de contournement existe si votre objectif est de créer une exportation autonome d’une base de données que vous pouvez transférer (par exemple, via une clé USB). Vous pouvez effectuer une sauvegarde avec l’option --archive-copy
activée afin de garantir que les segments WAL nécessaires sont stockés conjointement avec la sauvegarde. Ensuite, procédez à la restauration à l’aide de --type=none
--pg1-path=/your/target/path. Cela produit un répertoire de données PostgreSQL restauré contenant déjà tous les fichiers WAL requis dans pg_wal, de manière similaire à ce que pg_basebackup créerait.
Vous pouvez ensuite copier ce répertoire vers un autre système, et PostgreSQL devrait être en mesure de s’en remettre sans avoir besoin d’accéder au dépôt pgBackRest.
Veuillez noter qu’il ne sera pas effectué de basculement de timeline lors de la récupération de cette sauvegarde, ce qui signifie que ce cluster ne doit pas envoyer de WAL vers le dépôt d’origine d’où il a été exporté. Si le nouveau cluster est dans un environnement réseau isolé, cela ne devrait pas poser de problème.
8 - Métriques du projet
Couverture de code
pgBackRest vise à obtenir une couverture complète des fonctions, branches et lignes pour le code C principal dans /src.
La couverture fonctionnelle et par ligne est complète, sans exception.
La couverture de branche exclut les branches à l’intérieur des macros et les appels à assert(). Les macros ont leurs propres tests unitaires, donc elles n’ont pas besoin d’être testées à chaque endroit où elles apparaissent. Les assertions ne doivent pas être complètement couvertes en termes de branche, car elles vérifient des cas qui doivent toujours être vrais.
| Répertoire | Fonctions | Branches | Lignes |
|---|---|---|---|
| build/common | 32/32 (100.00%) | 72/72 (100.00%) | 268/268 (100.00%) |
| build/config | 39/39 (100.00%) | 564/564 (100.00%) | 1142/1142 (100.00%) |
| build/error | 6/6 (100.00%) | 22/22 (100.00%) | 71/71 (100.00%) |
| build/help | 13/13 (100.00%) | 138/138 (100.00%) | 265/265 (100.00%) |
| build/postgres | 8/8 (100.00%) | 58/58 (100.00%) | 149/149 (100.00%) |
| command | 17/17 (100.00%) | 104/104 (100.00%) | 210/210 (100.00%) |
| command/annotate | 1/1 (100.00%) | 12/12 (100.00%) | 30/30 (100.00%) |
| command/archive | 14/14 (100.00%) | 98/98 (100.00%) | 189/189 (100.00%) |
| command/archive/get | 10/10 (100.00%) | 208/208 (100.00%) | 447/447 (100.00%) |
| command/archive/push | 12/12 (100.00%) | 142/142 (100.00%) | 359/359 (100.00%) |
| command/backup | 50/50 (100.00%) | 786/786 (100.00%) | 1640/1640 (100.00%) |
| command/check | 13/13 (100.00%) | 106/106 (100.00%) | 214/214 (100.00%) |
| command/control | 4/4 (100.00%) | 34/34 (100.00%) | 48/48 (100.00%) |
| command/expire | 11/11 (100.00%) | 274/274 (100.00%) | 392/392 (100.00%) |
| command/help | 8/8 (100.00%) | 178/178 (100.00%) | 283/283 (100.00%) |
| command/info | 16/16 (100.00%) | 430/430 (100.00%) | 748/748 (100.00%) |
| command/local | 1/1 (100.00%) | — | 4/4 (100.00%) |
| command/remote | 1/1 (100.00%) | 6/6 (100.00%) | 18/18 (100.00%) |
| command/repo | 9/9 (100.00%) | 110/110 (100.00%) | 195/195 (100.00%) |
| command/restore | 37/37 (100.00%) | 726/726 (100.00%) | 1350/1350 (100.00%) |
| command/server | 6/6 (100.00%) | 24/24 (100.00%) | 81/81 (100.00%) |
| command/stanza | 5/5 (100.00%) | 106/106 (100.00%) | 125/125 (100.00%) |
| command/verify | 22/22 (100.00%) | 366/366 (100.00%) | 733/733 (100.00%) |
| common | 146/146 (100.00%) | 624/624 (100.00%) | 1350/1350 (100.00%) |
| common/compress | 12/12 (100.00%) | 24/24 (100.00%) | 80/80 (100.00%) |
| common/compress/bz2 | 13/13 (100.00%) | 20/20 (100.00%) | 123/123 (100.00%) |
| common/compress/gz | 13/13 (100.00%) | 26/26 (100.00%) | 118/118 (100.00%) |
| common/compress/lz4 | 15/15 (100.00%) | 24/24 (100.00%) | 116/116 (100.00%) |
| common/compress/zst | 13/13 (100.00%) | 12/12 (100.00%) | 96/96 (100.00%) |
| common/crypto | 32/32 (100.00%) | 88/88 (100.00%) | 424/424 (100.00%) |
| common/error | 33/33 (100.00%) | 66/66 (100.00%) | 179/179 (100.00%) |
| common/io | 61/61 (100.00%) | 182/182 (100.00%) | 523/523 (100.00%) |
| common/io/filter | 31/31 (100.00%) | 92/92 (100.00%) | 276/276 (100.00%) |
| common/io/http | 58/58 (100.00%) | 292/292 (100.00%) | 685/685 (100.00%) |
| common/io/socket | 28/28 (100.00%) | 110/110 (100.00%) | 339/339 (100.00%) |
| common/io/tls | 37/37 (100.00%) | 122/122 (100.00%) | 409/409 (100.00%) |
| common/type | 335/335 (100.00%) | 922/922 (100.00%) | 3123/3123 (100.00%) |
| config | 93/93 (100.00%) | 1025/1026 (99.90%) | 1649/1649 (100.00%) |
| db | 23/23 (100.00%) | 94/94 (100.00%) | 301/301 (100.00%) |
| info | 48/48 (100.00%) | 240/240 (100.00%) | 712/712 (100.00%) |
| info/manifest | 10/10 (100.00%) | 132/132 (100.00%) | 303/303 (100.00%) |
| postgres | 36/36 (100.00%) | 140/140 (100.00%) | 336/336 (100.00%) |
| postgres/interface | 4/4 (100.00%) | 10/10 (100.00%) | 35/35 (100.00%) |
| protocol | 60/60 (100.00%) | 266/266 (100.00%) | 860/860 (100.00%) |
| storage | 68/68 (100.00%) | 298/298 (100.00%) | 754/754 (100.00%) |
| storage/azure | 26/26 (100.00%) | 164/164 (100.00%) | 487/487 (100.00%) |
| storage/cifs | 2/2 (100.00%) | — | 6/6 (100.00%) |
| storage/gcs | 34/34 (100.00%) | 176/176 (100.00%) | 574/574 (100.00%) |
| storage/posix | 29/29 (100.00%) | 165/166 (99.40%) | 328/328 (100.00%) |
| storage/remote | 40/40 (100.00%) | 128/128 (100.00%) | 568/568 (100.00%) |
| storage/s3 | 31/31 (100.00%) | 194/194 (100.00%) | 651/651 (100.00%) |
| storage/sftp | 39/39 (100.00%) | 408/408 (100.00%) | 762/762 (100.00%) |
| TOTAL | 1705/1705 (100.00%) | 10608/10610 (99.98%) | 25128/25128 (100.00%) |
Les modules de tests unitaires C dans /test/src/module bénéficient également d’une couverture complète fonctionnalité/ligne, mais ne sont pas inclus dans le rapport.