On 2021-Nov-22, PG Doc comments form wrote:
> The unit (I assume it's MB) of max_slot_wal_keep_size is not explicitly
> specified in the docs. If it's intentional then please, disregards, but I've
> not been able to deduct that from this page alone. Thanks!
Well, that's embarrasing. I'll see about fixing it.
It is a size-based unit. You would typically specify some unit (say,
MB) together with the number; internally, because the way this works is
in terms of whole files, it is rounded down to an integer number of WAL
segments. If you don't specify a unit, it is taken to be a number of
megabytes.
I wonder why did we make it round down rather than up. Does this mean
that if you have max_slot_wal_keep_size=8MB and wal segments of 16 MB,
the slot gets invalidated with more than zero reserved segments?
Thanks for reporting.
--
Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/
"I'm impressed how quickly you are fixing this obscure issue. I came from
MS SQL and it would be hard for me to put into words how much of a better job
you all are doing on [PostgreSQL]."
Steve Midgley, http://archives.postgresql.org/pgsql-sql/2008-08/msg00000.php