Re: Log retention query - Mailing list pgsql-general

From Paul Brindusa
Subject Re: Log retention query
Date
Msg-id CAFeSbqisM-Gij=uFb=xVaKwB5YNfccsPcSzxoXzFzLA8ZNHnqA@mail.gmail.com
Whole thread Raw
In response to Re: Log retention query  (Ron Johnson <ronljohnsonjr@gmail.com>)
Responses Re: Log retention query
List pgsql-general
Hi everyone, 

@Ron:  I've tried  all the classic log tools, for some reason that I do not remember logrotate does not rotate the logs.
@Adrian:  three node  cluster with patroni again.

On Tue, Jan 28, 2025 at 3:02 PM Ron Johnson <ronljohnsonjr@gmail.com> wrote:
logrotate will, of course, also work.

On Tue, Jan 28, 2025 at 9:20 AM Ron Johnson <ronljohnsonjr@gmail.com> wrote:
Deleting old log files is _NOT_ a Postgresql problem.  Bash and crontab work perfectly for me.

(Could I have done a one-liner like Junwang?  Sure, but I like the obvious and explicit.)

declare -i Weeks=8
declare -i Days=$Weeks*7
declare Dir=/var/log/postgresql
declare OldFiles=$(find $Dir/p*-*log* -mtime +$Days | sort)
if [ -z "$OldFiles" ];
then
    echo "No old files to delete in ${Dir}."
else
    rm -v $OldFiles
fi

On Tue, Jan 28, 2025 at 8:41 AM Paul Brindusa <paulbrindusa88@gmail.com> wrote:
@Junwang apologies, I should have mentioned that  we've tried setting up a crontab and it has not worked. Have you got something similar working?

@Laurenz: log_filename: postgresql-%Y-%m-%d.log  -- if we redo the syntax can we make it trigger garbage collection on 180 days?

On Tue, Jan 28, 2025 at 1:28 PM Laurenz Albe <laurenz.albe@cybertec.at> wrote:
On Tue, 2025-01-28 at 09:57 +0000, Paul Brindusa wrote:
> Good morning everyone,
>
> Before I get on with today's problem, I would like to say how much I appreciate this community and everything that you do for end users.
>
> In today's problem I would like to understand if the following lines in our config handle the log rotation for our clusters?
>
>         log_checkpoints: on
>         logging_collector: on
>         log_truncate_on_rotation: on
>         log_rotation_age: 1d
>         log_rotation_size: 1GB
>         log_error_verbosity: verbose
>
> I have been deleting the logs manually for the last month, since I am confused how the log collector rotates them. 
>
> Am looking to delete logs older than 180 days. What are we doing wrong in the config?

It all depends on how you configured "log_filename".

If the setting is "postgresql-%a.log" or "postgresql-%d.log", PostgreSQL
will recycle the old log files once a week or once a month.

If the setting is the default "postgresql-%Y-%m-%d_%H%M%S.log", the same
log file name will never be reused, and there will be no log rotation.

PostgreSQL doesn't actively delete old log files.

Yours,
Laurenz Albe


--
Kind Regards,
Paul Brindusa



--
Death to <Redacted>, and butter sauce.
Don't boil me, I'm still alive.
<Redacted> lobster!


--
Death to <Redacted>, and butter sauce.
Don't boil me, I'm still alive.
<Redacted> lobster!


--
Kind Regards,
Paul Brindusa

pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: Log retention query
Next
From: Bharani SV-forum
Date:
Subject: Help in vetting error using "pg_upgrade" - steps for Postgres DB upgrade from Ver 13.X to ver 14.X/15.X and issue with python binaries