public inbox for [email protected]  
help / color / mirror / Atom feed
From: Ron Johnson <[email protected]>
To: pgsql-general <[email protected]>
Subject: Re: Log retention query
Date: Tue, 28 Jan 2025 10:01:43 -0500
Message-ID: <CANzqJaC-AkbwoWHQx2k4tJ8uHi9XV7=JuQeuTyYk9Kg-nJ2nnQ@mail.gmail.com> (raw)
In-Reply-To: <CANzqJaCp84Q178N4-65KEkvyB-YmyhirwiHPwpKLF4UgmgiQ0w@mail.gmail.com>
References: <CAFeSbqjnRXNZ72NdD+G6ScKKBTQXAxpMk=XyH1sPGs+L2atF_A@mail.gmail.com>
	<[email protected]>
	<CAFeSbqjqi1DZjQDatiZehk3GpkX_dFv=qgfsgWxKbsACSWJv_g@mail.gmail.com>
	<CANzqJaCp84Q178N4-65KEkvyB-YmyhirwiHPwpKLF4UgmgiQ0w@mail.gmail.com>

logrotate will, of course, also work.

On Tue, Jan 28, 2025 at 9:20 AM Ron Johnson <[email protected]> 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 <[email protected]>
> 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 <[email protected]>
>> 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
>> [email protected]
>>
>>
>
> --
> 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!


view thread (13+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected]
  Subject: Re: Log retention query
  In-Reply-To: <CANzqJaC-AkbwoWHQx2k4tJ8uHi9XV7=JuQeuTyYk9Kg-nJ2nnQ@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox