Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration PostgreSQL Discussion :

pg_wal et wal


Sujet :

Administration PostgreSQL

  1. #1
    Rédacteur/Modérateur

    pg_wal et wal
    Si l'on souhaite être en mesure de remonter une restauration PIT avec Postgresql, il faut travailler en mode archive / wal.

    Aussitôt le mode archive_mode = on , les fichiers wal déboulent dans pg_wal.

    Ensuite, le paramètre archive_command permet de copier ces fichiers dans une autre zone afin de les archiver

    2 questions :
    1) dans la mesure ou ces fichiers sont sauvegardés via un outil tiers (veeam), est-il vraiment nécessaire de configurer le archive_command ?
    2) quel paramètre détermine dans PG le temps que ces fichiers seront maintenus dans pg_wal ?
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  2. #2
    Rédacteur/Modérateur

    Bonjour,

    Ne connaissant pas l'outil "veeam" et ne sachant pas trop comment il intervient dans la sauvegarde des fichiers WAL (copie des fichiers à chaque création ? ou copie à un instant donné ? ou autre ?), je dirais qu'il est mieux de ne pas se passer de l'archive_command. En effet, cette commande copie un fichier wal dès qu'il est rempli vers la destination spécifiée dans la commande pour qu'il y soit archivé.
    Dans le répertoire pg_wal, les fichiers WAL ne sont que temporaires... Ils sont recyclés dès lors que l'ensemble des modifications qu'ils contiennent ont été écrites dans les fichiers de données sur les disques (en simplifiant un peu...). Ainsi, la taille du répertoire de fichiers WAL n'est pas supposée augmenter quand on archive les WAL, sauf si la commande de copie dans l'archive_command est défectueuse.

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre expert
    Plus précisement, les paramètres max_wal_size et min_wal_size sont pris en compte:



    max_wal_size (integer)

    Taille maximale de l'augmentation des WAL entre deux points de vérification automatique des WAL. C'est une limite souple ; la taille des WAL peut excéder max_wal_size sous certaines circonstances, comme une surcharge du serveur, une commande archive_command qui échoue, ou une configuration haute pour wal_keep_segments. Si cette valeur est indiquée sans unité, elle est considérée être un nombre de Mo. La valeur par défaut est 1 Go. Augmenter ce paramètre peut augmenter le temps nécessaire pour le rejeu suite à un crash. Ce paramètre ne peut être configuré que dans le fichier postgresql.conf ou indiqué sur la ligne de commande.

    min_wal_size (integer)

    Tant que l'occupation disque reste sous la valeur de ce paramètre, les anciens fichiers WAL sont toujours recyclés pour une utilisation future lors des points de vérification, plutôt que supprimés. Ceci peut être utilisé pour s'assurer qu'un espace suffisant est réservé pour faire face à des pics dans l'usage des WAL, par exemple lorsque d'importants travaux en lots sont lancés. Si cette valeur est indiquée sans unité, elle est considérée être un nombre de Mo. La valeur par défaut est 80 Mo. Ce paramètre ne peut être configuré que dans le fichier postgresql.conf ou indiqué sur la ligne de commande.
    Voir https://docs.postgresql.fr/12/runtim...onfig-wal.html.