web-dev-qa-db-fra.com

Suppression des anciens fichiers journaux postgresql (Ubuntu)

Dans une machine Ubuntu hébergeant une base de données postgresql, j'ai 16G d'espace occupé à /var/lib/postgresql/9.3/main/pg_log. Apparemment, les fichiers journaux d'il y a plusieurs mois sont également stockés. J'en ai supprimé manuellement quelques-uns pour me débarrasser de mon disk full Erreur. Quelle est une méthode robuste pour supprimer les anciens journaux postgresql chaque semaine? Tout ce que je peux faire en postgresql.conf pour automatiser ce processus?

Actuellement, j'ai ce qui suit dans postgresql.conf:

#log_truncate_on_rotation = off         # If on, an existing log file with the
                                        # same name as the new log file will be
                                        # truncated rather than appended to.
                                        # But such truncation only occurs on
                                        # time-driven rotation, not on restarts
                                        # or size-driven rotation.  Default is
                                        # off, meaning append to existing files
                                        # in all cases.
#log_rotation_age = 1d                  # Automatic rotation of logfiles will
                                        # happen after that time.  0 disables.
log_rotation_size = 100MB               # Automatic rotation of logfiles will
                                        # happen after that much log output.
                                        # 0 disables.

Je pense que je vais activer log_rotation_age et définissez sa valeur sur 30d. Mais cela supprimera-t-il automatiquement les anciens fichiers journaux?

5
Hassan Baig

Vous pouvez utiliser la configuration ci-dessous;

log_truncate_on_rotation = on
log_rotation_age = 1d
log_filename = 'postgresql-%a.log'
log_rotation_size = 0  #just rotate daily

Cela dit, créez un fichier journal avec un nom comme "postgresql-Mon.log" et lorsque la rotation se produit, remplacez l'ancien fichier avec le même nom.

6
Sahap Asci

PostgreSQL prend en charge la fonction de rotation des journaux mais ne prend pas en charge la fonction de suppression des journaux. L'utilisateur doit donc supprimer les journaux manuellement ou doit utiliser l'utilitaire logrotate pour les supprimer.

Voici le document officiel .

1
shx