Thread: measuring WAL creation

measuring WAL creation

From
Scott Ribe
Date:
I'd like to measure both the amount of WAL created by a long series of data modifications and the compressed size of
thegenerated WAL files. 

I suppose I need to set wal_keep_size high, and pay attention to segment numbers to make sure it was high enough. Then
Ican look at segments created while the commands were running. 

But question: can I simply delete all WAL after a clean shutdown?

--
Scott Ribe
scott_ribe@elevated-dev.com
https://www.linkedin.com/in/scottribe/






Re: measuring WAL creation

From
Tom Lane
Date:
Scott Ribe <scott_ribe@elevated-dev.com> writes:
> I'd like to measure both the amount of WAL created by a long series of data modifications and the compressed size of
thegenerated WAL files. 
> I suppose I need to set wal_keep_size high, and pay attention to segment numbers to make sure it was high enough.
ThenI can look at segments created while the commands were running. 

> But question: can I simply delete all WAL after a clean shutdown?

As a general rule, never do that manually --- the risk/reward ratio is
unattractive.  A checkpoint will release all safely-releasable WAL.
You can checkpoint via a shutdown if you insist, but a plain
CHECKPOINT command should be enough.

            regards, tom lane



Re: measuring WAL creation

From
Scott Ribe
Date:
> On Aug 2, 2024, at 2:29 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> Scott Ribe <scott_ribe@elevated-dev.com> writes:
>> I'd like to measure both the amount of WAL created by a long series of data modifications and the compressed size of
thegenerated WAL files. 
>> I suppose I need to set wal_keep_size high, and pay attention to segment numbers to make sure it was high enough.
ThenI can look at segments created while the commands were running. 
>
>> But question: can I simply delete all WAL after a clean shutdown?
>
> As a general rule, never do that manually --- the risk/reward ratio is
> unattractive.  A checkpoint will release all safely-releasable WAL.
> You can checkpoint via a shutdown if you insist, but a plain
> CHECKPOINT command should be enough.

Oh, I thought at a checkpoint it would keep around some minimum, wal_keep_size, or wal_min_size. But I suppose I could
setthose to 0 if needed. Anyway, this would be a database solely for the purpose of running these tests, starting
empty,so risk is not a factor unless I keep corrupting it between test stages ;-)