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 02/03/2018 08:22:42

null008
Membre

saturation disque postgresql

bonjour a tous

Pour de raison X je  viens d'activé le "pgbadger" sur ma machine dU production

malheureusement le fichier var/log/postgresql/postgresql-9.3-main.log a grossie énormément et il a dépassé le 50 GiOK

maintenant je veux revenir en arriéré pour récupérer mon espace disque car je suis en arrêt du production et je ne peut attendre pour demain

comment je peut vider le fichier log du postgresql et quel serai l'impact si je le vide Pour info je suis sous ubunto

cordialement

Hors ligne

#2 02/03/2018 09:05:45

Marc Cousin
Membre

Re : saturation disque postgresql

c'est simple, supprimez votre fichier /var/log/postgresql/postgresql-9.3-main.log. Il sera regénéré automatiquement au prochain démarrage de Postgres.


Marc.

Hors ligne

#3 02/03/2018 09:06:56

Marc Cousin
Membre

Re : saturation disque postgresql

Et désactivez les modifications que vous avez faites pour pgbadger, histoire que le problème ne se reproduise pas...


Marc.

Hors ligne

#4 02/03/2018 10:09:09

null008
Membre

Re : saturation disque postgresql

Si je supprime ce Fichier et que je redémarre par le serveur postgresql

Ou il va écrire son log le moteur postgresql ?

Hors ligne

#5 02/03/2018 10:10:00

Marc Cousin
Membre

Re : saturation disque postgresql

Il va le recréer, comme écrit dans mon premier messages. Le répertoire /var/log/postgresql appartient à postgres, il peut y créer ce qu'il veut.


Marc.

Hors ligne

#6 03/03/2018 18:15:21

dverite
Membre

Re : saturation disque postgresql

Sur ubuntu le fichier de log est créé par défaut à l'extérieur de postgres, log_destination est sur stderr et logging_collector à off, le renouvellement est géré par rotatelog ( cf /etc/logrotate.d/postgresql-common),  et si on parle de récupérer l'espace disque à chaud, sans redémarrer le serveur, il faut plutôt tronquer le fichier en faisant ça:

$ sudo sh -c 'echo > /var/log/postgresql/posgresql-X.Y-main.log'

(en fait le echo n'est même pas nécessaire, une redirection sans commande marche aussi).

Quand on effaçe le fichier avec un "rm", le système ne va pas libérer l'espace tant que le service postgres
garde ce fichier ouvert, et en fait le fichier et tout son contenu continue d'être accessible à tout processus qui l'a ouvert
*avant son effacement*

Hors ligne

#7 04/03/2018 21:01:31

null008
Membre

Re : saturation disque postgresql

ok merci bien dverite çà fonctionne parfaitementact

Par contre Quel est l’utilité de l'option -C dans votre commande et il sert a quoi exactement ?

merci bien

Hors ligne

#8 09/03/2018 18:09:14

dverite
Membre

Re : saturation disque postgresql

C'est une option de sh. D'après man sh:

-c chaîne Si l'option -c est présente, les commandes sont  lues  depuis
                 la  chaîne  fournie.  S'il y a des arguments après la chaîne,
                 ils sont affectés aux paramètres positionnels, en  commençant
                 par $0.

Hors ligne

Pied de page des forums