PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 Re : Général » Suppression des anciens fichiers WAL » 02/07/2023 12:09:54

Bonjour,
Actuellement tous les jours je sauvegarde mon fichier A qui contient tous les WAL
Lors de la sauvegarde mensuel, je supprime manuellement les WAL qui précède mon dernier fichier .backup

gleu a écrit :

Vous pouvez utiliser pg_archivecleanup manuellement pour faire ça en lui indiquant le répertoire d'archivage (donc le dossier "A") et le plus ancien fichier archivé à conserver.

Ok, donc à moi de le faire et d'indiquer le fichier "butoirs" manuellement pour supprimer les fichiers les plus anciens

#2 Général » Suppression des anciens fichiers WAL » 21/06/2023 12:32:48

Funky
Réponses : 2

Bonjour à tous,

Je voudrais avoir quelques informations pour la suppression des anciens fichiers WAL.

Contexte :

Les fichiers WAL situés dans un dossier "A" qui est sur le même serveur que ma BDD PSQL.
Le dossier "A" est sauvegardé grâce au logiciel rclone qui copie/colle les fichiers sur un serveur distant.
Tous les mois une sauvegarde pg_basebackup est lancée qui est également sauvegardée sur un serveur distant avec le logiciel rclone

Au fur et à mesure mon dossier "A" stock tous les fichiers WAL ainsi que les .backup. Ma question est la suivante est-ce possible qu'après un pg_basebackup mes anciens fichiers WAL soit supprimés ainsi que les anciens .backup?

J'ai vu la commande suivante pg_archivecleanup à paramétrer dans le fichier conf' sur la ligne archive_cleanup_command
Mais comment lui indiquer de supprimer les anciens fichiers WAL et .backup ?

Cordialement,

Funky

#3 Re : Général » Retourner le nom des tables hérités » 26/07/2022 11:01:07

Bonjour, oui effectivement c'est bien un héritage au sens SQL

Merci pour la requête et c'est bien ça que je recherchais, elle était vraiment simple mais il fallait la connaitre

Merci à vous Julien

#4 Général » Retourner le nom des tables hérités » 26/07/2022 09:54:13

Funky
Réponses : 2

Bonjour à tous,

Actuellement j'ai créé une table eDocs avec des colonnes "id, name, order, accountRID" et d'autre tables eDocs_bloc, eDocs_family qui sont hérités de eDocs

Je souhaite récupérer le nom des tables qui sont hérités avec une requête SQL avec les infos suivantes => id, name, order, accountRID et le nom de table

J'avais vu une commande qui pouvais sans doute me donner les infos

SELECT table_name FROM information_schema.tables WHERE table_schema='public'

mais je n'arrive pas à retourner les informations que j'ai besoin avec une sous requete

Avez-vous une idée ?

Cordialement,

Benjamin

#5 Re : Général » Script sauvegarde pg_basebackup » 13/07/2022 09:13:28

Bonjour à tous,

Après quelques jours en mettant le paramètre archive_timeout à 0. Le problème des fichiers WAL est résolu.

En regardant avec :

SHOW archive_timeout;

la valeur est bien à 0.

Le fichier est rempli comme il se doit.

Merci à vous, pour tous les renseignements apportés

Cordialement,

Benjamin

#6 Re : Général » Script sauvegarde pg_basebackup » 08/07/2022 10:37:12

Actuellement checkpoint_timeout est commenté dans le fichier postgresql.conf

Pour pg_waldump avec l'option --stat voici le retour

Type                                           N      (%)          Record size      (%)             FPI size      (%)        Combined size      (%)
----                                           -      ---          -----------      ---             --------      ---        -------------      ---
XLOG                                           2 ( 50,00)                  138 ( 57,98)                    0 (  0,00)                  138 ( 57,98)
Transaction                                    0 (  0,00)                    0 (  0,00)                    0 (  0,00)                    0 (  0,00)
Storage                                        0 (  0,00)                    0 (  0,00)                    0 (  0,00)                    0 (  0,00)
CLOG                                           0 (  0,00)                    0 (  0,00)                    0 (  0,00)                    0 (  0,00)
Database                                       0 (  0,00)                    0 (  0,00)                    0 (  0,00)                    0 (  0,00)
Tablespace                                     0 (  0,00)                    0 (  0,00)                    0 (  0,00)                    0 (  0,00)
MultiXact                                      0 (  0,00)                    0 (  0,00)                    0 (  0,00)                    0 (  0,00)
RelMap                                         0 (  0,00)                    0 (  0,00)                    0 (  0,00)                    0 (  0,00)
Standby                                        2 ( 50,00)                  100 ( 42,02)                    0 (  0,00)                  100 ( 42,02)
Heap2                                          0 (  0,00)                    0 (  0,00)                    0 (  0,00)                    0 (  0,00)
Heap                                           0 (  0,00)                    0 (  0,00)                    0 (  0,00)                    0 (  0,00)
Btree                                          0 (  0,00)                    0 (  0,00)                    0 (  0,00)                    0 (  0,00)
Hash                                           0 (  0,00)                    0 (  0,00)                    0 (  0,00)                    0 (  0,00)
Gin                                            0 (  0,00)                    0 (  0,00)                    0 (  0,00)                    0 (  0,00)
Gist                                           0 (  0,00)                    0 (  0,00)                    0 (  0,00)                    0 (  0,00)
Sequence                                       0 (  0,00)                    0 (  0,00)                    0 (  0,00)                    0 (  0,00)
SPGist                                         0 (  0,00)                    0 (  0,00)                    0 (  0,00)                    0 (  0,00)
BRIN                                           0 (  0,00)                    0 (  0,00)                    0 (  0,00)                    0 (  0,00)
CommitTs                                       0 (  0,00)                    0 (  0,00)                    0 (  0,00)                    0 (  0,00)
ReplicationOrigin                              0 (  0,00)                    0 (  0,00)                    0 (  0,00)                    0 (  0,00)
Generic                                        0 (  0,00)                    0 (  0,00)                    0 (  0,00)                    0 (  0,00)
LogicalMessage                                 0 (  0,00)                    0 (  0,00)                    0 (  0,00)                    0 (  0,00)
                                        --------                      --------                      --------                      --------
Total                                          4                           238 [100,00%]                   0 [0,00%]                   238 [100%]

Concernant les données NUL je les voyait en ouvrant avec un éditeur, mais je pense que mon problème réel vient du archive_timeout, où toutes les minutes un fichier est créé.
Celui-ci contient beaucoup moins de données par rapport au tout premier WAL

Donc effectivement, je pense que vous avez raison ces données sont loin d'être inutiles

Je vais regarder avec vos recommandations

EDIT :

Pour mon problème de fichier WAL est-ce judicieux de laisser archive_timeout commenté et garder les valeurs actuelles max_wal_size = 1GB et min_wal_size = 80MB, dès que le fichier WAL sera à 1Go un nouveau sera créé et également bien rempli ?

#7 Re : Général » Script sauvegarde pg_basebackup » 08/07/2022 09:17:58

Bonjour,
Quand vous parlez de checkpoint vous faites référence à archive_timeout? Si oui, actuellement la valeur est sur 60 c'est peut être trop court

Voici ce que j'ai avec la commande pg_waldump :

/usr/lib/postgresql/13/bin/pg_waldump 00000001000000000000001C
rmgr: Standby     len (rec/tot):     50/    50, tx:          0, lsn: 0/1C000028, prev 0/1B000100, desc: RUNNING_XACTS nextXid 703 latestCompletedXid 702 oldestRunningXid 703
rmgr: Standby     len (rec/tot):     50/    50, tx:          0, lsn: 0/1C000060, prev 0/1C000028, desc: RUNNING_XACTS nextXid 703 latestCompletedXid 702 oldestRunningXid 703
rmgr: XLOG        len (rec/tot):    114/   114, tx:          0, lsn: 0/1C000098, prev 0/1C000060, desc: CHECKPOINT_ONLINE redo 0/1C000060; tli 1; prev tli 1; fpw true; xid 0:703; oid 16434; multi 1; offset 0; oldest xid 478 in DB 1; oldest multi 1 in DB 1; oldest/newest commit timestamp xid: 0/0; oldest running xid 703; online
rmgr: XLOG        len (rec/tot):     24/    24, tx:          0, lsn: 0/1C000110, prev 0/1C000098, desc: SWITCH

Mais je ne comprend pas du tout les données

#8 Re : Général » Script sauvegarde pg_basebackup » 06/07/2022 14:47:22

dverite a écrit :

Dans le 3eme champ de .pgpass, il faut mettre replication au lieu d'un nom de base de données.

Si ça échoue toujours après ça, consulter le fichier de log du serveur pour avoir des détails sur l'erreur.

Merci dverite. Le problème venait bien de la. Ça fonctionne nickel.

J'en profite pour poser une autre question sans devoir refaire un sujet.
Concernant les WAL à t'il un paramètre à mettre pour enregistrer que ce qui est utile ? Car en l'ouvrant on s’aperçoit qu'il y a énormément de donnée NUL

#9 Général » Script sauvegarde pg_basebackup » 06/07/2022 11:26:11

Funky
Réponses : 9

Bonjour à tous,

Je souhaite mettre en place un script de sauvegarde avec pg_basebackup en cron.

Ma configuration de la sauvegarde est en réplication. Les fichiers WAL sont enregistrés sur la même machine de ma bdd mais sauvegardé grâce à Rclone sur une autre serveur tous les jours en cron.

Au préalable j'ai déjà fait une sauvegarde complète de la base, sauf que je souhaite sauvegarder tous les mois la base complète automatiquement.

J'ai crée le fichier .pgpass.

localhost:5432:maBDD:postgres:monMotDePasse

qui se trouve dans /var/lib/postgresql avec les droits 600 et user et groupe = postgres

Le problème étant lors de l’exécution du script celui-ci me demande toujours le mot de passe.

Voici ma commande que je lance:

pg_basebackup -h localhost -p 5432 -U postgres -D /home/svg

Savez-vous où est le problème ?

Faut il utiliser pg_basebackup ou un autre moyen pour une sauvegarde en cron ?

Cordialement.

#10 Re : Général » Sauvegarde PITR demande d'informations » 02/02/2022 12:32:57

Merci Guillaume pour vos renseignements maintenant tout est clair de mon coté
Bonne journée à vous

#11 Général » Sauvegarde PITR demande d'informations » 02/02/2022 11:56:32

Funky
Réponses : 2

Bonjour à tous,

J'ai mis en place la sauvegarde PITR ou j'enregistre bien tous les WAL, mais ou j'ai du mal à comprendre faut il obligatoirement faire une sauvegarde avec "pg_basebackup" ?

Exemple, si mon serveur à carrément planté, je repars sur une nouvelle installation, mes fichiers WAL ne suffiront pas à remettre toute ma base de données ?

De plus, une sauvegarde complète du dossier "main"  en complément pourrait elle servir ou pas du tout ?

Pour information avant j'utilisais OrientDB ou une sauvegarde complète du dossier de ma base de donnée était sauvegardé avec RCLONE. Au moment du backup je pouvais tout simplement remettre le dossier de ma BDD et relancer OrientDB

Cordialement,

Funky

Pied de page des forums

Propulsé par FluxBB