Re: Log retention query

From: Ron Johnson <ronljohnsonjr(at)gmail(dot)com>
To: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Log retention query
Date: 2025-01-28 14:20:59
Message-ID: CANzqJaCp84Q178N4-65KEkvyB-YmyhirwiHPwpKLF4UgmgiQ0w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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(at)gmail(dot)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(dot)albe(at)cybertec(dot)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
> paulbrindusa88(at)gmail(dot)com
>
>

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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ron Johnson 2025-01-28 15:01:43 Re: Log retention query
Previous Message Nem Tudom 2025-01-28 14:00:20 Re: Issues with EPOCH-s, TIMESTAMP(TZ)-s and leap seconds.