ITAGAKI Takahiro <itagaki.takahiro@lab.ntt.co.jp> writes:
> I think that this patch is useful to decide when to vacuum.
> It notifies when freespace empties as follows:
No, it doesn't complain that there is no freespace, it complains when
a specific request can't be fulfilled; which for a large request might
not mean much of anything. I haven't quite worked out what you are
trying to do with the minRequest restriction but I don't think that
really makes things better. Also, aren't you throwing away remaining
free space in order to prevent the log message from appearing repeatedly?
> $ ./pgbench -n -t 1000
> LOG: FreeSpace for "public.accounts" becomes empty. (stored=1, avg=159, min=128)
> LOG: FreeSpace for "public.tellers" becomes empty. (stored=1, avg=238, min=40)
> LOG: FreeSpace for "public.branches" becomes empty. (stored=1, avg=238, min=36)
A bigger issue is what is the point of logging such a transient
condition --- who's going to read it? It's possible that autovacuum
would like to know about this, and after we get autovacuum integrated
into the backend I'm sure we'll be taking a look at letting it use FSM
information. But I can't see that anyone is going to sit and watch
the postmaster log to decide to trigger vacuums.
regards, tom lane